我找到了这个阿拉伯字母的正则表达式,但它也允许带字母的数字.如何更改它以仅允许字母?
/[\u0600-\u06FF]/
Run Code Online (Sandbox Code Playgroud)
Krz*_*ski 23
可能你必须检查数字匹配的范围并排除它(正式不包括在括号表达式中).
在这里,我发现了另一个有用的来源.
我建议这只是字母
/[\u0600-\u065F\u066A-\u06EF\u06FA-\u06FF]/
Run Code Online (Sandbox Code Playgroud)
因为这只匹配阿拉伯数字
/[\u0660-\u0669\u06F0-\u06F9]/
Run Code Online (Sandbox Code Playgroud)
编辑:
我发现unicode中的阿拉伯语和阿拉伯语数字有两个范围.
如果你需要一个正则表达式来匹配一行,当它包含阿拉伯字母和数字时 - 使用这个:
/^[\u0600-\u06FF]*$/
Run Code Online (Sandbox Code Playgroud)
如果你还想阻止阿拉伯数字 - 使用这个:
/^[\u0600-\u065F\u066A-\u06EF\u06FA-\u06FF]*$/
Run Code Online (Sandbox Code Playgroud)
如果要匹配子字符串,而不仅仅是整行,请使用:
/\b[\s\u0600-\u065F\u066A-\u06EF\u06FA-\u06FF]*\b/
Run Code Online (Sandbox Code Playgroud)
我尝试了这里提供的所有解决方案,没有任何效果,最后一个解决方案仅适用于阿拉伯字母
^[\u0621-\u064A\040]+$
Run Code Online (Sandbox Code Playgroud)