Ответ 1
Просто добавьте 1-9
(в формате Unicode) в свой класс символов:
^[\u0621-\u064A0-9 ]+$
ИЛИ добавьте \u0660-\u0669
к символьному классу, который является диапазоном арабских цифр:
^[\u0621-\u064A\u0660-\u0669 ]+$
Я хочу, чтобы регулярное выражение принимало только арабские символы, Пробелы и Числа.
Номера не должны быть на арабском языке.
Я нашел следующее выражение:
^[\u0621-\u064A]+$
который принимает только арабские символы, в то время как мне нужны арабские символы, пробелы и числа.
Просто добавьте 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}]+$
вы можете использовать [ء-ي] он работал у меня в jQuery JQuery forme.validate rules
для моего примера Я хочу заставить пользователя вставить 3 символа
[A-Za-Z ء-ي]
использовать этот
[\u0600-\u06FF]
у меня сработало на визуальной студии
С большим количеством попыток и редактирования я получил это для персидских имен:
[گچپژیلفقهمو ء-ي]+$
Просто используйте этот код:
^[-ۿ]+$
Это работает для арабских/персидских четных чисел.
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".
Примечание. Чтобы \p{Arabic}
совпадал с арабскими буквами, в конце необходимо передать модификатор u
(для юникода).
^[\u0621-\u064Aa-zA-Z\d\-_\s]+$
Это регулярное выражение должно принимать арабские буквы, английские буквы, пробелы и цифры
[\p{IsArabic}-[\D]]
Арабский символ, который не является цифрой