Регулярное выражение только арабские символы и цифры

Я хочу, чтобы регулярное выражение, чтобы принять только арабские символы, помещения и цифры.

номера не обязательно должны быть на арабском языке.

Я нашел следующее выражение:

^[u0621-u064A]+$

который принимает только арабские символы, в то время как мне нужны арабские символы, пробелы и цифры.

8 ответов


просто добавить 1-9 (в формате Unicode) для вашего класса символов:

^[\u0621-\u064A0-9 ]+$

или добавить \u0660-\u0669 для класса символов, который является диапазон арабских чисел :

^[\u0621-\u064A\u0660-\u0669 ]+$

вы можете использовать:

^[\u0621-\u064A\s\p{N}]+$

\p{N} будет соответствовать любой числовой цифре unicode.

для соответствия только ASCII использовать цифру:

^[\u0621-\u064A\s0-9]+$

EDIT: лучше использовать это регулярное выражение:

^[\p{Arabic}\s\p{N}]+$

Тестирую Демо


вы можете использовать [ء-ي] он работал для меня в javascript jQuery forme.проверить правила

для моего примера я хочу заставить пользователя вставить 3 символа

[a-zA-Zء-ي]


использовать

[\u0600-\u06FF]

это сработало для меня в visual studio

enter image description here


function HasArabicCharacters(string text)

{

    var regex = new RegExp(

        "[\u0600-\u06ff]|[\u0750-\u077f]|[\ufb50-\ufc3f]|[\ufe70-\ufefc]");

    return regex.test(text);
}

в PHP используйте следующее:

preg_replace("/\p{Arabic}/u", 'x', 'abc123ابت');// will replace arabic letters with "x".

Примечание: For \p{Arabic} чтобы соответствовать арабским буквам, вам нужно пройти u модификатор (для Unicode) в конце.


С большим количеством попыток и редактирования я получил это для персидских имен:

[گچپژیلفقهمو ء-ي]+$

[\p{IsArabic}-[\D]]

арабский символ, который не является цифрой