正则表达式,必须包含一个数字,1-5个字符和字母和数字

时间:2017-08-14 09:59:41

标签: regex

规格:

  • 1 - 5个字符长度
  • 包含至少1个数字字符
  • 只允许A-Z,a-z和0-9

这就是我所熟悉的:^[a-zA-Z0-9]{0,5}$

问题我有这个接受'AV'例如。它必须包含一个有效的数字。

https://regex101.com/r/i5VnXt/1

1 个答案:

答案 0 :(得分:3)

您需要添加一个正向前瞻(?=\D*\d)并在末尾使用{1,5}限制量词来匹配1到5个字符:

^(?=\D*\d)[a-zA-Z0-9]{1,5}$

请参阅regex demo

<强>详情

  • ^ - 字符串的开头
  • (?=\D*\d) - 在0个或更多非数字符号后需要数字的正向前瞻
  • [a-zA-Z0-9]{1,5} - 1到5(由于{1,5}限制量词)连续的字母数字字符(ASCII字母或数字)
  • $ - 字符串结束。