Je vérifie un champ s'il s'agit de caractères latins ou non.
var foreignCharacters = $("#foreign_characters").val(); var rlatins = /[\u0000-\u007f]/; if (rlatins.test(foreignCharacters)) { alert("This is Latin Characters"); } else { alert("This is non-latin Characters"); }
3 Réponses :
Il suffit de tester la présence de caractères non ASCII au lieu de tester la présence de caractères ASCII:
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"); }
C'est une bonne idée! Merci! Je reçois cette erreur lorsque vous essayez d'utiliser cette regex dans PHP: la compilation a échoué: PCRE ne prend pas en charge \ l, \ l, \ n, \ u ou \ u à offset 2
Différente syntaxe dans PHP: essayez / [\ x {{{{{{{{{{{{{{{{{{007f}] / u code>
Il dit que l'allemand prüfung code> est des caractères non latins
Si vous souhaitez vérifier l'utilisation de la chaîne entière (en PHP)
preg_match('/^[\x{0000}-\x{007F}]*$/u',$s);
Une alternative à la création de votre propre regex avec des plages de points de code est d'utiliser le bibliothèque XREGEXP
Quelques exemples de la documentation: P>
XRegExp('^\\p{Hiragana}+$').test('ã²ãããª'); // -> true XRegExp('^[\\p{Latin}\\p{Common}]+$').test('Ãber Café.'); // -> true