输入字段中不应只允许有空格

时间:2021-01-28 12:20:29

标签: javascript

我有一个正则表达式 /^([A-Za-z\s-']{1,})$/

这接受字母、连字符和撇号。

  1. 在字符串的开头、中间和结尾有多个空格是可以的。
  2. “亨利 - 杰克逊的德比 - 的”也是正确的

我在这个正则表达式中只有一个问题需要解决。

“如果我在输入字段中只输入空格,它也会接受” - 这是错误的

我怎样才能避免这种情况?

1 个答案:

答案 0 :(得分:0)

您至少允许方括号中的任何字符(包括空格)中的一个,因此即使字符串 " " 也会被接受。

您应该执行以下操作: /^\s*([A-Za-z\-\']+[A-Za-z\-\'\s]*)\s*$

  1. ^\s*:允许初始空格
  2. [A-Za-z\-\']+:在给定的集合中至少有一个字符(省略此处的空格,因此您至少有一个不是空格的字符)
  3. [A-Za-z\-\'\s]*:给定集合中的零个或多个字符
  4. \s*$:尾随空格和字符串结尾