Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 应用程序版本验证的RegExp应该是什么?_Javascript_Regex - Fatal编程技术网

Javascript 应用程序版本验证的RegExp应该是什么?

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+(?:\。

我被困在一个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+(?:\。\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+)?$