Wie zu Erkennen, Nicht "GSM-7-bit-alphabet" von Zeichen in Eingabe-Feld
Ich versuche zu erkennen, ob eine text-input-Feld hat jeder Charakter, der gehört nicht zu der GSM-7-bit-alphabet. Die Tabelle mit den Zeichen ist hier http://www.dreamfabric.com/sms/default_alphabet.html
Nach viel suchen fand ich dieses ( Welchen regulären Ausdruck muss ich schauen für einige nicht-lateinischen Zeichen? ), die ziemlich nahe an dem, was ich erreichen will, weil Es erkennt Nicht lateinische Zeichen. Wie kann ich ändern, die den regulären Ausdruck enthalten die GSM-7-bit-alphabet?
<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<title>test foreign chars</title>
</head>
<body>
<input id="foreign_characters" size="12" type="text" name="foreign_characters" value="test">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script type="text/javascript">
(function(){
$('#foreign_characters').on("keyup", function(){
var foreignCharacters = $("#foreign_characters").val();
var rforeign = /[^\u0000-\u007f]/;
if (rforeign.test(foreignCharacters)) {
alert("This is non-Latin Characters");
} else {
alert("This is Latin Characters");
}
});
})();
</script>
</body>
</html>
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie alle gültigen Zeichen in einem string aus und suchen Sie dann die Zeichenfolge wiederholt.
Stellen Sie sicher, dass Ihre Codierungen Recht, wenn Sie dies benutzen, d.h. speichern Sie Ihre Javascript-Datei als UTF8 und angeben, dass es UTF8 an den browser.
for (var i = 0; i < str.length; i++) { letter = str[i]; }
Dieser reguläre Ausdruck sollte Ihr problem lösen.
var rforeign = /regex/;
odervar rforeign = new RegExp("regex");
.Versuchen, diese
http://www.frightanic.com/2012/04/10/regex-for-gsm-03-38-7bit-character-set/
Habe ich
textarea
mit idsmscontent
. Ich benutze unten regex/codeZum testen der regex geteilt durch Lajos - https://www.regextester.com/99623
Zum testen der regex verwendet, die in dieser Antwort - https://www.regextester.com/?fam=106436