【发布时间】:2017-09-17 10:40:20
【问题描述】:
我正在尝试在角度控制器中引入正则表达式以进行名称验证。我只能在名称之间使用字母、正斜杠、连字符和一个空格。字符串后不能有任何空格。所以“John-\ Doe”有效,“John-\ Doe-\ Do-\e Doe”有效但“John-\ Doe”,单词之间有2个或更多空格无效,“John-\ Doe”,最后一个单词后一个空格或多个,无效。
这是我目前所拥有的:^[a-zA-Z-]+( [a-zA-Z-]+)*$ 我的正则表达式阻止了名称之间的空格,但我不确定如何验证最后一个单词后的一个空格。我试过: [^a-zA-Z /-]+|[\s]{2,} 这对我不起作用。非常感谢任何指导。
【问题讨论】:
-
谢谢,但是,所有这些都是在 javascript 中处理的,所以我不能处理任何 ngs,这很不幸。
-
我不太明白问题出在哪里。您在正则表达式中转义了一个连字符。为什么?你想匹配反斜杠吗?试试
/^[a-zA-Z\\-]+(?:\s[a-zA-Z\\-]+)*$/。请显示一个未通过此模式验证的字符串并解释原因。 -
对我的评论有任何反馈吗?
标签: javascript regex