我需要一个正则表达式来验证长度为4,5,6的数字
我使用^ [0-9] {4}来验证4的数量,但我不知道如何包含5和6的验证。
答案 0 :(得分:56)
试试这个:
^[0-9]{4,6}$
{4,6}
= 4到6个字符,包括在内。
答案 1 :(得分:10)
请注意,正如所写,彼得的解决方案将“接受”0000
。如果您要验证1000
和999999
之间的数字,那么这是另一个问题: - )
^[1-9][0-9]{3,5}$
例如,将阻止在字符串的开头插入0
。
如果你想接受0填充,但最多只能接受6的长度,以便001000
有效,那么它就会变得更复杂。如果我们使用预测,那么我们可以编写类似
^(?=[0-9]{4,6}$)0*[1-9][0-9]{3,}$
首先检查字符串是否长4-6 (?=[0-9]{4,6}$)
,然后跳过0 0*
并搜索非零[1-9]
,后跟至少3位{{1} }}
答案 2 :(得分:10)
[0-9]{4,6}
可缩短为\d{4,6}
答案 3 :(得分:2)
如果您使用的语言接受{}
,则可以使用[0-9]{4,6}
。
如果没有,则必须使用[0-9][0-9][0-9][0-9][0-9]?[0-9]?
。