正则表达式仅允许字母和仅一个空格的选项

时间:2017-12-29 08:36:40

标签: regex

我有一个正则表达式,检查输入是否只有a-z和A-Z以及空格。

这是我的表现

/^[a-zA-Z\s]*$

我正在尝试允许a-z A-Z,如果用户输入sapce,它将只有一个空格。

Exapmle:

ACB => vaild

adsbc aDb => vaild

adbc def gh =>不是vaild

我的正则表达式需要更改什么?

2 个答案:

答案 0 :(得分:1)

您可以使用

^[a-zA-Z]*(\s[a-zA-Z]*)?$

请参阅regex demo

答案 1 :(得分:1)

试试这个正则表达式:

^[A-Za-z]*[ ]?[A-Za-z]*$

为了简单起见,您希望在整个字符串的开头,中间或末尾匹配零个或一个空格。上面的正则表达式表达了这一点。

Demo

我们也可以使用否定前瞻来解决这个问题:

^(?!.* .* )[A-Za-z ]*$

这使用一个断言,从字符串的开头,两个空格不会出现在任何地方。但是,我希望第一个解决方案能够表现更好。

Demo