带有星号掩码的ip地址的javascript正则表达式

Inye Yu

我想为带有星号(*)的IP地址做一个正则表达式,它与下面的匹配:

数字127.0可以是0到255之间的任何数字。

**[TRUE]**
127.*.*.*
127.0.*.*
127.0.0.*

**[FALSE]**
127.*.*.1
127.*.0.1
127.0.*.1

到目前为止,我所做的是……当然,失败了。我完全迷路了。

_regex = function(value) {
    var _match = /^(?:(\d|1\d\d|2[0-4]\d|25[0-5]))\.(?:(\*|\d|1\d\d|2[0-4]\d|25[0-5]))\.(\*|(?:\d{1,2}(?:.\d{1,3}?)))\.(\*|(?:\d{1,3}(?:\*?)))$
    if(_match.test(value)){
        //do something;
    }
}

如果您给我任何学习的机会,将不胜感激。谢谢。

我认为您要寻找的是否定性的展望,以确保没有数字跟随星号。

像这样: (\*(?!.*\d))

工作示例:

var ips = [
  '127.*.*.*',
  '127.0.*.*',
  '127.0.0.*',
  '127.*.*.1',
  '127.*.0.1',
  '127.0.*.1'
];

var regex = /^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|(\*(?!.*\d)))(\.|$)){4}$/;

for(var i = 0; i < ips.length; i++){
  console.log(ips[i] + ': ' + regex.test(ips[i]));
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章