javascript - 如何正则表达式匹配整个字符串而不是单个字符

标签 javascript regex validation arabic

我正尝试按照 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

如果给出单个匹配字符,那么它会将整个输入分类为可接受的,即使输入的其余部分充满了 Not Acceptable 字符。我应该改用什么正则表达式?

最佳答案

您需要向正则表达式添加 ^$ anchor ,以及 + 以允许多个字符。

试试这个:

/^[\u0600-\u06FF]+$/

我不确定你提到的“阿拉伯语空格”是否包含在那里的字符范围内,但如果你想在字符串中允许空格,那么只需在 \s [] 括号。

关于javascript - 如何正则表达式匹配整个字符串而不是单个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22063204/

相关文章:

angularjs - 如何禁用 ng-click 的表单验证?

java - 获取正则表达式匹配后的文本

regex - 如何找到一个模式,并以不同的方式替换它?

grails - 用户输入验证-Grails验证

javascript - Javascript 中的通用内存方法

javascript - if 语句 JavaScript、数学在我的 else 语句中不起作用,我做错了什么?

javascript - 代码作为 Opera UserJS 运行,但在 Chrome 和 Greasemonkey 用户脚本中给出 "undefined"错误

javascript - 我们如何跟踪 Javascript 错误?现有的工具真的有用吗?

javascript - 正则表达式匹配不是由所有相同号码组成的电话号码

c# - 是否有 .NET 函数来验证类名?