javascript 带星号掩码的 IP 地址的正则表达式
javascript regex for ip address with asterisk masking
我想为带星号(*)的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]));
}
我想为带星号(*)的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]));
}