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

时间:2016-02-19 07:31:07

标签: regex expression

我有这个正则表达式:

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

我使用以下正则表达式工具测试了这个

link

你能告诉我如何接受和空间吗?

接受例如:John Smith

提前致谢!

1 个答案:

答案 0 :(得分:3)

只需在字符类中添加空格\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. $:行结束
  7. RegEx Demo

    
    
    input:valid {
      color: green;
    }
    input:invalid {
      color: red;
    }
    
    <input pattern="[a-zA-Z]+(?:\s[a-zA-Z]+)?" />
    &#13;
    &#13;
    &#13;

    要允许多个名称/字符串以空格分隔,请在该组上使用*量词。

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

    RegEx Demo