【问题标题】:writing regular expression with constraints编写带约束的正则表达式
【发布时间】:2015-05-25 07:26:24
【问题描述】:

我正在为以下条件检查编写一个 JavaScript 正则表达式。

运单号验证详情:

  • 音符长度:12 Varchar
  • 第一个字符应为大写字符
  • 第五个字符可以是字符或整数
  • 剩下的都是整数

有效字符串示例:

C991S1234567
C30811234567

我不知道。我尝试了一个简单的正则表达式,比如只检查数字或字母。

我尝试过这样的事情:

^[0-9]

它只允许整数。我不知道如何为其添加约束。任何帮助将不胜感激。

【问题讨论】:

  • 不过,请发布您尝试过的内容。另外,第 2、3、4 个字符呢?它们应该总是数字吗?
  • 是的,先生。正如第 4 点所说,剩下的一切都应该是整数。
  • 那么你尝试了哪些表达方式?我有一个答案给你,但我需要知道你试图更好地了解那里究竟缺少什么。
  • 先生,我对正则表达式不太了解。我试过这个^ [0-9]。但当然它只允许整数。我不知道如何给它添加约束。
  • 请发表评论并询问是否有不清楚的地方。

标签: javascript regex validation


【解决方案1】:

此任务的正则表达式依赖于character classes ([...]) 和limiting quantifiers ({n})。 ^[0-9] 只检查第一个字符是否为数字。

您可以使用以下正则表达式:

^[A-Z][0-9]{3}[a-zA-Z0-9][0-9]{7}$

demo

解释

  • ^ - 字符串的开头
  • [A-Z] - 第一个是大写英文字母
  • [0-9]{3} - 第 2、3、4 个字符是数字
  • [a-zA-Z0-9] - 第五个字符是字母或数字
  • [0-9]{7} - 后面 7 个字符是数字
  • $ - 字符串结束。

【讨论】:

  • 非常感谢先生。真的很有帮助:)
猜你喜欢
  • 2020-05-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多