正则表达式中最小字符长度

时间:2018-07-19 15:05:42

标签: javascript regex

我有以下正则表达式:^([0-9]{1,4}(\ -?)){3}[0-9]{1,4}$

它实际上匹配1234

我想强制只匹配6个或更多的数字(即不包括破折号),例如。 1234 12或12 1 123或1 1 123 1或1-12-12-2222或1-123 2 2等。

有没有简单的方法可以实现这一目标?

1 个答案:

答案 0 :(得分:1)

您可以使用此正则表达式进行前瞻,以断言存在至少6位数字:

/^(?=(?:\D*\d){6})(?:\d{1,4}[ -]?){3}\d{1,4}$/gm

RegEx Demo

这里(?=(?:\D*\d){6})是一个积极的前瞻性,当存在至少6位数字且中间有0个或多个非数字时,则为true。