我正在为具有以下格式的软件版本字段编写正则表达式:
xxx.yyy.zzz
这 3 个部分每个可以有 1 到 3 个数字。例如:
1.2.3
100.2.300
111.222.333
我为此制定了这个正则表达式,但它是不正确的:
[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}
应该修改什么才能使其正常工作?
最佳答案
您需要转义正则表达式中的点,否则它们会被视为任何字符。
var regex = /[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/;
regex.test('1.2.3'); //true
regex.test('100.2.300'); //true
regex.test('111.222.333'); //true
如果不对点进行转义,则可以在点的位置提供任何字符。
var badRegex = /[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}/;
badRegex.test('1a2z3'); //true
badRegex.test('100-2#300'); //true
badRegex.test('111f2229333'); //true
关于javascript - 由句点分隔的 3 个 3 位数值的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36592738/