我正在尝试按照this post中的说明使用JavaScript正则表达式/[\u0600-\u06FF]/
对阿拉伯字母字符输入实施“alpha”验证。我只想接受阿拉伯字母字符和空格。
现在的问题是它给出了以下结果:
r = /[\u0600-\u06FF]/
r.test("abcd") // false - correct
r.test("@#$%^") // false - correct
r.test("س") // true - correct
r.test("abcd$$#5س") // true - should be false
r.test("abcdس") // true - should be false
如果给出单个匹配字符,则它将整个输入分类为可接受,即使输入的其余部分充满了不可接受的字符。我应该使用什么正则表达式?
答案 0 :(得分:3)
您需要在正则表达式中添加^
和$
个锚点,以及+
以允许多个字符。
试试这个:
/^[\u0600-\u06FF]+$/
我不确定你提到的“阿拉伯语空格”是否包含在字符范围内,但是如果你想在字符串中允许空格,那么只需在\s
中添加[]
括号。
答案 1 :(得分:1)
你可以明确地允许一些键e-g:numpad,backspace和space,请查看下面的代码片段:
example.com/