Expression régulière caractères et chiffres arabes seulement
je veux Expression Régulière pour accepter uniquement les caractères arabes,Espaces et Nombres.
Il n'est pas nécessaire que les nombres soient en arabe.
j'ai trouvé l'expression suivante:
^[u0621-u064A]+$
qui n'accepte que les caractères arabes alors que j'ai besoin de caractères, D'espaces et de chiffres arabes.
8 réponses
il suffit d'ajouter 1-9
(au format Unicode) pour votre personnage-classe de:
^[\u0621-\u064A0-9 ]+$
ou ajouter \u0660-\u0669
à la classe de caractères qui est le rang des nombres arabes:
^[\u0621-\u064A\u0660-\u0669 ]+$
Vous pouvez utiliser:
^[\u0621-\u064A\s\p{N}]+$
\p{N}
correspond à n'importe quel chiffre numérique unicode.
pour correspondre À seulement ASCII des chiffres d'utilisation:
^[\u0621-\u064A\s0-9]+$
EDIT: mieux utiliser ce regex:
^[\p{Arabic}\s\p{N}]+$
vous pouvez utiliser [ء-ي] ça a marché pour moi dans javascript jQuery forme.valider les règles
pour mon exemple, je veux forcer l'utilisateur à insérer 3 caractères
[A-zA-Zül-ي]
function HasArabicCharacters(string text)
{
var regex = new RegExp(
"[\u0600-\u06ff]|[\u0750-\u077f]|[\ufb50-\ufc3f]|[\ufe70-\ufefc]");
return regex.test(text);
}
en PHP, utilisez ceci:
preg_replace("/\p{Arabic}/u", 'x', 'abc123ابت');// will replace arabic letters with "x".
Remarque::\p{Arabic}
pour faire correspondre les lettres arabes, vous avez besoin de passer u
modificateur (unicode) à la fin.
Avec beaucoup d'essayer et modifier j'ai eu ce pour persan noms:
[گچپژیلفقهمو ء-ي]+$
[\p{IsArabic}-[\D]]
Un caractère arabe qui n'est pas un chiffre