我只想允许用户输入如下格式的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.55
或 1-23-4-55
正确
但是 1.1.1.1.1
或 1-1-1-1-1
或 21.34.55.5.5.5.5
应该是错误
但我的正则表达式也认为这是正确的
最佳答案
您可以简单地使用
^\d+([.-]\d+){0,3}$
如果您不想混合分隔符,请使用
^\d+((-\d+){0,3}|(\.\d+){0,3})$
关于javascript - 如何创建一个正则表达式来验证带有 3 个点或破折号的 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30209209/