Javascript 应用程序版本的正则表达式

Javascript 应用程序版本的正则表达式,javascript,regex,Javascript,Regex,我想使用以下模式编写正则表达式,以便在javascript中匹配应用程序版本: (0-255).(0-255)[.(0-65535).(0-65535)] 以下是我的结果: ^(?:(\d+)\.){1}(?:(\d+)\.){1}(?:(\d+)\.)?(\d+)?$ 但它允许字符串结尾带有点(如“111.222.333”),并且不限制位数。 有什么帮助吗 更新 这种模式更好: (0-255).(0-255)[.(0-65535)][.(0-65535)] 结果是: ^(?:[0-9]{

我想使用以下模式编写正则表达式,以便在javascript中匹配应用程序版本:

(0-255).(0-255)[.(0-65535).(0-65535)]
以下是我的结果:

^(?:(\d+)\.){1}(?:(\d+)\.){1}(?:(\d+)\.)?(\d+)?$
但它允许字符串结尾带有点(如“111.222.333”),并且不限制位数。 有什么帮助吗

更新

这种模式更好:

(0-255).(0-255)[.(0-65535)][.(0-65535)]
结果是:

^(?:[0-9]{1,2}|1[0-9]{2}|2[0-4][0-9]|25[0-5])[.](?:[0-9]{1,2}|1[0-9]{2}|2[0-4][0-9]|25[0-5])(?:(?:[.](?:[0-9]{1,4}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])){1})?(?:(?:[.](?:[0-9]{1,4}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])){1})?$

我认为最好的解决方案是按
分割,然后检查每个部分:

函数为边界(值、最小值、最大值){

return!isNaN(value)&&value>=min&&value Regex并不是您想要完成的最佳工具。拆分('.')、循环和parseInt可能更容易您可以使用
/^\d{1,3}\.\d{1,3}(\.\d{1,5}.\d{1,5}.\d{1,5})进行第一次验证?$/
然后在
@Phylogenesis OP上拆分字符串,要求范围在0-255和0之间-65535@Bondye我知道。这就是为什么我说这是第一次通过验证,然后在周期上分割以验证范围。从未听说过debuggex…这是一个非常漂亮的可视化!非常感谢!这对我来说是有用的:
^(?[0-9]{1,2}|1[0-0-0-0-9[0-0-0-0-0-0-9[0-0-0 0-0 0-0 0-0-9[0-0-9{1,2}1[0-0-0-9[0-0-9}{{0-0-0-9}2[0-0-0 0 0 0 0-5[0-5]0 0 0 0 0 0 0 0 0 0 0 0 0-9}5[0[0 0 0-0 0 0 0 0 0 0 0 0 0 0-9}0 0 0 0 0 0 0 0[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0-5 5[0 0 0-5]5 5 5 5 5[0[0-0 0 0 0-0 0 0 0 0 0 0-0-0 0 0 0-0-0 0 0 0 0 0 0 0-0 0 0-0 0 0 0 0 0 0 0 0-5 5 5[0-0-5](0-5),(0-5)(0-5)(0-9)(1,4)(1-5)(0-5)(0-9),(1,4)()()6((0-4))()((0-9)))