Javascript 应用程序版本验证的RegExp应该是什么?
我被困在一个RegExp中,我需要验证app store和play store的应用程序版本。我尝试了几个RegExp,但没有一个对我有用。下面是通过测试的示例 应用程序版本高达2-3个小数点Javascript 应用程序版本验证的RegExp应该是什么?,javascript,regex,Javascript,Regex,我被困在一个RegExp中,我需要验证app store和play store的应用程序版本。我尝试了几个RegExp,但没有一个对我有用。下面是通过测试的示例 应用程序版本高达2-3个小数点 1.0 // pass 1.0.0 // pass 1.0.0.0 // fail a.0 // fail 1 // pass 我找到了一个RegExp[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+,但这只有在输入4个小数点后才有效。我不知道如何修改这个 请帮助。^\d+(?:\。
1.0 // pass
1.0.0 // pass
1.0.0.0 // fail
a.0 // fail
1 // pass
我找到了一个RegExp[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+
,但这只有在输入4个小数点后才有效。我不知道如何修改这个
请帮助。^\d+(?:\。\d+{0,2}$
这将以一个数字(\d
与[0-9]
相同)开始,然后是0或更多的小数点,后面是更多的数字
var输入=[
“1.0”,//通过
“1.0.0”,//通过
“1.0.0.0”,//失败
“a.0”,//失败
“1”,//通过
"1.",
“1.a”
]
var regex=/^\d+(?:\。\d+{0,2}$/;
input.forEach(函数(项){
控制台日志(项,正则表达式测试(项));
});代码>试试看
let版本=[
"1.0",
"1.0.0",
"1.0.0.0",
“a.0”,
"1",
]
versions.forEach(v=>console.log(v,/^(\d+\.){0,2}\d+$/.test(v))
您提到的最多2-3位小数
,那么RegExp
必须是这个
^(\d+\.)?(\d+\.)?(\d+\.)?(\*|\d+)?$
你可以试试下面的正则表达式
let reg=/^[0-9](\)[0-9]){0,2}$/
console.log(reg.test('1.0'))//true
console.log(reg.test('1.1.0'))//true
console.log(reg.test('1'))//true
console.log(reg.test('1')//false
console.log(reg.test('1.a'))//false
console.log(reg.test('1.1.1.1')//false
这将接受1.
和1.a
-问题不清楚它是否可以接受。您忘记了转义
。所以像1°1
和1M1
这样的东西也会通过测试…根据OP:1.0.0.0//fail
,但您的代码返回true
@MaheerAli OP change question rquirements-在本例中,通过测试。@MaheerAli OP在我回答问题后更改了要求。我现在更新了。
^(\d+\.)?(\d+\.)?(\d+\.)?(\*|\d+)?$