javascript - 由句点分隔的 3 个 3 位数值的正则表达式

标签 javascript regex

我正在为具有以下格式的软件版本字段编写正则表达式:

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/

相关文章:

javascript - Node 模块无法导入

javascript - HTML5 视频 : Uncaught TypeError: Cannot read property '0' of undefined

javascript - 上传前检查图像大小

regex - 使用 unix linux 实用程序处理段落中的文本模式

javascript - 处理 JavaScript 中的 Null

java - 正则表达式删除字符串中的最后一个单词+附加字符

当我期待 4 项时,Javascript 正则表达式仅匹配 2 项

regex - Fail2ban 规则不起作用

ruby-on-rails - 替换字符串中的电子邮件、电话和地址(就像 AirBnB 那样)?

javascript - 更改边框宽度而不移动其他表格元素