【问题标题】:RegEx validation for only empty space; should accept space between words/characters仅针对空白空间的正则表达式验证;应该接受单词/字符之间的空格
【发布时间】:2018-01-16 21:53:35
【问题描述】:

我正在编写用于 UI 验证的 reg ex,以满足以下要求:

  1. 它应该包含字母和/或数字。
  2. 它可以包含“_”(唯一可接受的特殊字符)。
  3. 字符之间的“空白”是可以接受的。
  4. 没有空格(只允许空格)。

这是我的注册前:

Validators.pattern('^[A-Za-z0-9? ,_-]+$')

现在除了“#4”之外,其他一切都正常。它只接受空白;而根据要求,只能在字符之间使用空格。

【问题讨论】:

  • “单词”之间可以有多个连续的空格吗?

标签: javascript regex


【解决方案1】:

正则表达式变得更重,但你可以这样做:

Validators.pattern('^[A-Za-z0-9?,_-](\s?[A-Za-z0-9?,_-]+)*$')

这可确保:

  • 第一个字符是有效字符,而不是空格
  • 字符串要么在此结束,要么
    • 包含[optional whitespace][at least one valid non-whitespace character]的任意序列

让这些匹配:

  • “一一”
  • “一个”
  • “aa”

而这些不是:

  • ""(不确定是否要匹配)
  • “一个”
  • “一”
  • “一一一”

注意:我使用了您的模式,它允许 ?,- 不包含在您的第二个要求中。

【讨论】:

    猜你喜欢
    • 2017-12-24
    • 1970-01-01
    • 1970-01-01
    • 2013-03-06
    • 2021-01-06
    • 1970-01-01
    • 2021-12-31
    • 2014-06-26
    相关资源
    最近更新 更多