匹配字母的正则表达式不适用于空格

时间:2017-11-21 05:26:47

标签: javascript regex validation

我目前正在使用此正则表达式(/ ^ [A-z] + $ /)仅允许用户输入字母。但我面临的一个问题是它不允许字符之间的空格。为什么这样以及如何解决这个问题?

谢谢。

1 个答案:

答案 0 :(得分:0)

  

但我遇到的一个问题是它之间不允许有空格   字符。为什么这样以及如何解决这个问题?

正则表达式标记了输入的开头和结尾^$,这意味着整个输入必须与[A-z]+匹配。

你也需要容纳空间,所以试试

/^[A-Z]+(([A-Z\s]*[A-Z])*)$/i

解释

  • [A-Z]+确保始终以字母
  • 开头
  • (([A-Z\s]*[A-Z])*)确保如果单词之间有空格,则以字母结尾

另一方面,如果您只想在句子中用字母表捕获所有不同的单词,只需

  • 从正则表达式中删除^$
  • [A-Z]代替[A-z]
  • 使其不区分大小写

/[A-Z]+/i