2016-06-22 7 views
-3

Wie können wir Sonderzeichen und STRG + V aus Javascript (nicht JQUERY) einschränken, aber es sollte (-) Bindestrich zulassen.Eingeschränktes Sonderzeichen und eingefügte Zeichen

Folgende Code habe ich versucht, Sonderzeichen außer (-) Bindestrich zu beschränken, es funktioniert gut. Hier möchte ich eine Bedingung hinzufügen, um eingefügte (CNTRL + V) Zeichen einzuschränken.

function allowAlphaNumHyphen(evt){ 
    var keyCode = (evt.which) ? evt.which : evt.keyCode 
    if (((keyCode >= 48 && keyCode <= 90 && (keyCode<58 || keyCode>64)) || (keyCode > 96 && keyCode <= 122) || keyCode==8 || keyCode==127 || keyCode==45)){ 
     return true; 
    } 
    else{ 
     return false; 
    } 
} 
+1

Willkommen bei SO. Bitte besuche die [Hilfe] und nimm die [Tour], um zu sehen, was und wie man fragt. TIPP: Code und Aufwand anzeigen – mplungjan

Antwort

0

Da die obige Funktion von onkeypress ruft, es ist nicht die CNTR Charakter, so neuer Anruf mit folgendem Code onkeydown getan

onkeypress

function allowAlphaNumHyphen(evt){ 
    var keyCode = (evt.which) ? evt.which : evt.keyCode 
      if ((((keyCode >= 48 && keyCode <= 90 && (keyCode<58 || keyCode>64)) || (keyCode > 96 && keyCode <= 122) || keyCode==8 || keyCode==127 || keyCode==45)) && !(keyCode==17)){ 
      return true; 
      } 
      else{ 
       return false; 
      } 
} 

onkeydown

function checkPastingChar(evt){ 
    var keyCode = (evt.which) ? evt.which : evt.keyCode 
    if((evt.ctrlKey && keyCode==86) || (evt.ctrlKey && keyCode==118)){ 
     return false; 
    }else{ 
     return true; 
    } 

}