如何创建一个正则表达式来验证带有3个点或短划线的id

时间:2015-05-13 08:12:13

标签: javascript regex

我想允许用户输入id,如下所示格式

1

1.1 or 1-1

1.1.1 or 1-1-1

1.1.1.1 or 1-1-1-1

我写了以下正则表达式。

/^(\d+(?:-\d+)*$)|(^\d+(?:\.\d+)*$)/

它给了我上面的输出。但问题是它允许无限制的匹配。但我想要最多4个数字(只有4个)

1.23.4.551-23-4-55更正

1.1.1.1.11-1-1-1-121.34.55.5.5.5.5应该是错误的

但我的正则表达式也认为这是正确的

1 个答案:

答案 0 :(得分:4)

您只需使用

即可
^\d+([.-]\d+){0,3}$

如果您不想混合分隔符,请使用

^\d+((-\d+){0,3}|(\.\d+){0,3})$