Регулярное выражение только арабские символы и цифры
Я хочу, чтобы регулярное выражение, чтобы принять только арабские символы, помещения и цифры.
номера не обязательно должны быть на арабском языке.
Я нашел следующее выражение:
^[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ء-ي]
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) в конце.
С большим количеством попыток и редактирования я получил это для персидских имен:
[گچپژیلفقهمو ء-ي]+$