【问题标题】:javascript Regex pattern validation [closed]javascript正则表达式模式验证[关闭]
【发布时间】:2014-05-01 09:47:27
【问题描述】:

我需要创建一个正则表达式模式,它以 i 开头,后跟 6 个数字。例如:i123456、i098765。

我已经关注了这个SO,并创建了这个正则表达式:^\[i]{1}[0-9]{6}$,但在this 验证网站中,我得到了上述示例的错误。

我如何做到这一点?

【问题讨论】:

  • 正则表达式中的反斜杠在做什么?
  • 我从未使用过正则表达式,所以我真的不知道...
  • 摆脱它,它应该可以正常工作。
  • 何不试试^i[0-9]{6}$
  • 最好删除它。错别字并不意味着问题和答案。

标签: javascript regex


【解决方案1】:

注意事项:

  1. 开头和结尾的插入符号 (^) 和美元符号 ($) 分别表示行或字符串的开头和结尾,具体取决于多行 (m) 标志。如果您在字符串中查找匹配项,此正则表达式将失败,因为它要求 i123456 模式是整个字符串(或行)。

  2. 您无需创建字符集(如在方括号中包含字符所示)来匹配单个字符。写清楚就好。

  3. 文字正则表达式以正斜杠开始和结束。一些在线工具和验证器可能不会将您的表达式识别为有效,除非您包含它们。

正如@kamilkp 回应的那样,如果您尝试根据模式验证整个输入字符串,/^i\d{6}$/ 将是可能的最短表达式。如果您尝试从较大的字符串中提取与模式匹配的子字符串,最简单的模式将是 /i\d{6}//i\d{6}/i 如果前导字母 'i' 的大小写无关。

【讨论】:

    【解决方案2】:

    最短的正则表达式是:/^i\d{6}$/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-28
      • 1970-01-01
      • 2017-03-03
      • 1970-01-01
      • 2013-08-24
      相关资源
      最近更新 更多