如何在正则表达式中接受空格?

16 浏览
0 Comments

如何在正则表达式中接受空格?

这个问题已经在这里有答案了:

允许单词之间有空格的正则表达式

我有这个正则表达式:

const name_regex = /^[a-zA-Z]+$/;

我在下面的正则表达式工具中测试了一下:

链接

请问如何接受空格?

例如: John Smith

谢谢提前!

admin 更改状态以发布 2023年5月24日
0
0 Comments

只需在字符类中添加一个空格\s (允许任何空格字符,如制表符、回车、换行、垂直制表符和换页符)

^[a-zA-Z ]+$

注意:这将允许在字符串的任何地方出现任意数量的空格。

RegEx Demo

如果你只想在名字和姓氏之间允许一个空格。

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

  1. ^:起始锚点
  2. [a-zA-Z]+:匹配一个或多个字母
  3. (?::非捕获组
  4. \s[a-zA-Z]+:匹配一个空格后跟一个或多个字母
  5. ?:允许前面的组出现零次或一次
  6. $:结束锚点

RegEx Demo

input:valid {
  color: green;
}
input:invalid {
  color: red;
}


要允许由空格分隔的多个名称/字符串,请在组上使用*量化符号。

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

RegEx Demo

0