我希望正则表达式只接受阿拉伯字符,空格和数字。
数字不需要是阿拉伯语。
我找到了以下表达式:
^[\u0621-\u064A]+$
只接受阿拉伯字符,而我需要阿拉伯字符,空格和数字。
答案 0 :(得分:35)
只需将1-9
(Unicode格式)添加到您的角色类:
^[\u0621-\u064A0-9 ]+$
或者将\u0660-\u0669
添加到range of Arabic numbers:
^[\u0621-\u064A\u0660-\u0669 ]+$
答案 1 :(得分:13)
您可以使用:
^[\u0621-\u064A\s\p{N}]+$
\p{N}
将匹配任何unicode数字。
仅匹配使用ASCII数字:
^[\u0621-\u064A\s0-9]+$
编辑:最好使用此正则表达式:
^[\p{Arabic}\s\p{N}]+$
答案 2 :(得分:10)
对于我的例子,我想强制用户插入3个字符
[A-ZA-Zء-ي]
答案 3 :(得分:6)
答案 4 :(得分:3)
通过大量的尝试和编辑,我得到了波斯名字:
[گچپژیلفقهمو ء-ي]+$
答案 5 :(得分:1)
简单,请使用以下代码:
^[-ۿ]+$
这适用于阿拉伯/波斯偶数。
答案 6 :(得分:1)
^[\u0621-\u064Aa-zA-Z\d\-_\s]+$
此正则表达式必须接受阿拉伯字母,英文字母,空格和数字
答案 7 :(得分:0)
function HasArabicCharacters(string text)
{
var regex = new RegExp(
"[\u0600-\u06ff]|[\u0750-\u077f]|[\ufb50-\ufc3f]|[\ufe70-\ufefc]");
return regex.test(text);
}
答案 8 :(得分:0)
在PHP中,使用:
preg_replace("/\p{Arabic}/u", 'x', 'abc123ابت');// will replace arabic letters with "x".
注意:要使\p{Arabic}
匹配阿拉伯字母,您需要在结尾处传递u
修饰符(用于unicode)。
答案 9 :(得分:0)
上面的帖子不仅包含阿拉伯语(MSA)字符,还包含波斯语,乌尔都语,古兰经符号和其他一些符号。仅使用阿拉伯语MSA字符(请参见Arabic Unicode)
[\u0621-\u063A\u0641-\u0652]
答案 10 :(得分:0)
要允许在一个字段中使用最小和最大允许字符数的阿拉伯语 + 英语字母,试试这个,100% 测试:
^[\u0621-\u064A\u0660-\u0669a-zA-Z\-_\s]{4,35}$
A- 允许使用阿拉伯英文字母。
B- 不允许使用数字。
C- {4,35} 表示允许的 Min,Max 字符。
更新:提交时:接受带空格的英文单词,但不能提交带空格的阿拉伯语单词!
答案 11 :(得分:-2)
[\p{IsArabic}-[\D]]
不是非数字的阿拉伯字符