2016-12-30 4 views
0

ich will hat einen Js-Code für erlauben Typ nur lateinische Charta mit Nummer und Sonderzeichen (Alt Tastatursequenzen, EX: [email protected]#$%^&*()_|}{~!"?>:<?/][\=- '`, ...), ich versuchte es so, aber es nicht arbeite für die lateinische Nummer und den unsichtbaren Charakter Keyboard.Was mache ich?jQuery nur lateinische Zeichen erlauben

DEMO:https://jsfiddle.net/oosjtmgg/

 $(".latin_letters").on("keypress", function(event) { 
 
      var englishAlphabetAndWhiteSpace = /[A-Za-z ]/g; 
 
      var key = String.fromCharCode(event.which); 
 
      if (event.keyCode == 8 || event.keyCode == 37 || event.keyCode == 39 || englishAlphabetAndWhiteSpace.test(key)) { 
 
       return true; 
 
      } 
 
      return false; 
 
     }); 
 
     $('.latin_letters').on("paste", function(e) { 
 
      e.preventDefault(); 
 
     });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input name="email" class="latin_letters">

+0

Was ist "unsichtbare Zeichen Tastatur"? – guest271314

+0

@ guest271314 EX dies:! @ # $%^& *() _ |} {~ !, ... –

+0

Sind "! @ # $%^& *() _ |} {~ !," Zeichen gültige Eingabe ? Was bedeutet "..." für gültige oder ungültige Eingabezeichen? – guest271314

Antwort

0

Bitte versuchen Sie dies:

nur hinzufügen: - var englishAlphabetAndWhiteSpace = „/^[[email protected]/# & + \ w \ s] * $/";

$(".latin_letters").on("keypress", function(event) { 
 
     var englishAlphabetAndWhiteSpace = /^[[email protected]/#&+\w\s]*$/; 
 
      var key = String.fromCharCode(event.which); 
 
      if (event.keyCode == 8 || event.keyCode == 37 || event.keyCode == 39 || englishAlphabetAndWhiteSpace.test(key)) { 
 
       return true; 
 
      } 
 
      return false; 
 
     }); 
 
     $('.latin_letters').on("paste", function(e) { 
 
      e.preventDefault(); 
 
     });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input name="email" class="latin_letters" type="text">

+0

Bitte versuchen Sie es, es funktioniert ... –

0

$(".latin_letters").on("keydown", function(event) { 
 
      var allowed = /[[email protected]#\$%\^&\*\(\)_|}{~">:<\?/\]\[\\=\- ]/g; 
 
      var key = String.fromCharCode(event.which); 
 
      if (event.keyCode == 8 || event.keyCode == 37 || event.keyCode == 39 || allowed.test(key)) { 
 
       return true; 
 
      } 
 
      return false; 
 
     }); 
 
$('.latin_letters').on("paste", function(e) { 
 
    e.preventDefault(); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input name="email" class="latin_letters">

Dies wird für Sie arbeiten. Sie hatten vorher keine Nummern und Signale getestet.

Verwandte Themen