Я нашел это регулярное выражение для арабских букв, но также позволяет номера с буквами. Как я могу изменить его, чтобы позволить ему допускать только буквы?
/[\u0600-\u06FF]/
Я нашел это регулярное выражение для арабских букв, но также позволяет номера с буквами. Как я могу изменить его, чтобы позволить ему допускать только буквы?
/[\u0600-\u06FF]/
Вероятно, вам нужно будет проверить, в каком диапазоне соответствуют числа и исключить его (формально не включать в выражение скобок).
Здесь Я нашел еще один полезный источник.
Я предлагаю это только для букв
/[\u0600-\u065F\u066A-\u06EF\u06FA-\u06FF]/
поскольку это соответствует только арабским цифрам
/[\u0660-\u0669\u06F0-\u06F9]/
Edit:
Я обнаружил, что есть два диапазона для арабских и арабских цифр в юникоде.
Если вам нужно регулярное выражение для соответствия строке именно тогда, когда оно содержит арабские буквы и цифры - используйте это:
/^[\u0600-\u06FF]*$/
Если вы хотите также отменить арабские цифры - используйте это:
/^[\u0600-\u065F\u066A-\u06EF\u06FA-\u06FF]*$/
Если вы хотите совместить подстроку, а не только целую строку, используйте это:
/\b[\s\u0600-\u065F\u066A-\u06EF\u06FA-\u06FF]*\b/
Я пробовал все предлагаемые здесь решения, ничего не работало, наконец, одно решение работало для меня только для арабских букв
^[\u0621-\u064A\040]+$
Во-первых, что касается арабского кодирования в юникоде, вы можете обратиться к этим таблицам здесь
Что касается регулярного выражения, которое вам было предоставлено, [\u0600-\u06FF]
- это диапазон всех арабских символов в списке юникода, который, безусловно, включает в себя даже буквы, управляющие символы, пробелы и числа.
Моя рекомендация:
/[\u0600-\u06FF&&[^\U06F0-\06F9]]/
Который охватывает только все минус арабские числовые цифры (0-9).
Это вычитает диапазон из диапазона "супер". Просто не уверен, поддерживает ли ваш диалект regex target.
[RegularExpression(@"^[\u0621-\u064A\u0660-\u0669a-zA-Z]+$", ErrorMessage = "You can enter Arabic or English characters only")]
[RegularExpression(@"^[0-9]+$", ErrorMessage = "You can enter numbers only")]
[RegularExpression(@"^[a-zA-Z\0-9]+$",ErrorMessage = "You can enter numbers or english characters only")]
[RegularExpression(@"^[\u0621-\u064A\u0660-\u0669\0-9]+$", ErrorMessage = "You can enter numbers or arabic characters only")]
[RegularExpression(@"^[\u0621-\u064A\u0660-\u0669]+$", ErrorMessage = "You can enter arabic characters only")]
[RegularExpression(@"^[a-zA-Z]+$",ErrorMessage = "You can enter english characters only")]