我有这个正则表达式:
const name_regex = /^[a-zA-Z]+$/;
我使用以下正则表达式工具测试了这个
你能告诉我如何接受和空间吗?
接受例如:John Smith
提前致谢!
答案 0 :(得分:3)
只需在字符类中添加空格或
\s
(以允许任何空格字符,如制表符,回车符,换行符,垂直制表符和换页符)
^[a-zA-Z ]+$
注意:这将允许字符串中任何位置的任意数量的空格。
如果您只想在名字和姓氏之间留出一个空格。
^[a-zA-Z]+(?:\s[a-zA-Z]+)?$
^
:线锚的开始[a-zA-Z]+
:匹配一个或多个字母(?:
:非捕获组\s[a-zA-Z]+
:在单个空格后匹配一个或多个字母?
:允许前一组零或一次$
:行结束
input:valid {
color: green;
}
input:invalid {
color: red;
}

<input pattern="[a-zA-Z]+(?:\s[a-zA-Z]+)?" />
&#13;
要允许多个名称/字符串以空格分隔,请在该组上使用*
量词。
^[a-zA-Z]+(?:\s[a-zA-Z]+)*$
^