正则表达式正则表达式检查字符串是否包含3个数字1个特殊字符1个字母和1个数字?

时间:2019-07-12 16:29:26

标签: javascript regex

我使用此正则表达式:

^(?=.{4,6}$)\d{3}[-A-ZΑ-Ω0-9]{1,3}$

我需要我的正则表达式检测以下内容:

400-A1
400-B
400A
500C2
500-A2
600W3

而不是检测:

400-3
5002
4002A
400-1A
100AAA
3000AA
200
290-
290--
300---
100AA-
100A-A

2 个答案:

答案 0 :(得分:0)

也许,这个表情值得一看:

^(?!\d{4,})(\d{1,3}-?[A-ZΑ-Ω0-9]{1,3}\s+?)+$

如果允许两个空格,或者

^(?!\d{4,})(\d{1,3}-?[A-ZΑ-Ω0-9]{1,3}\s?)+$

如果没有。

this demo的右上角对表达式进行了说明,如果您想探索/简化/修改它,在this link中,您可以观察它如何与某些示例输入步骤匹配如果愿意,可以逐步进行。

答案 1 :(得分:0)

对于您的示例数据,您可以匹配4-6个字符,而无需提前(?=.{4,6}$)

您可以使用:

^\d{3}-?[A-Z]\d?$

Regex demo

说明

  • ^字符串的开头
  • \d{3}匹配3位数字
  • -?匹配可选的连字符(或使用字符类[Ω-]列出允许的内容)
  • [A-Z]匹配单个字符A-Z
  • \d?匹配可选数字
  • $字符串结尾

Regex demo