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