除了0.0.0.0和255.255.255.255之外,什么是合适的JavaScript IPv4正则表达式?
你们能告诉我JavaScript语言中IPv4的正确正则表达式(不包括0.0.0.0和255.255.255.255)吗 实际上,我的测试正则表达式如下。但是0.0.0.0和255.255.255.255仍然匹配 那么,有比我更好的正则表达式吗?以及排除0.0.0.0和255.255.255.255的任何解决方案 提前谢谢除了0.0.0.0和255.255.255.255之外,什么是合适的JavaScript IPv4正则表达式?,javascript,regex,ipv4,Javascript,Regex,Ipv4,你们能告诉我JavaScript语言中IPv4的正确正则表达式(不包括0.0.0.0和255.255.255.255)吗 实际上,我的测试正则表达式如下。但是0.0.0.0和255.255.255.255仍然匹配 那么,有比我更好的正则表达式吗?以及排除0.0.0.0和255.255.255.255的任何解决方案 提前谢谢 function inputCheck(inputString) { var inputList = inputString.split("\n")
function inputCheck(inputString) {
var inputList = inputString.split("\n");
var flagList = [];
var ipRegex = new RegExp("^(([1-9]?\\d|1\\d\\d|2[0-5][0-5]|2[0-4]\\d)\\.){3}([1-9]?\\d|1\\d\\d|2[0-5][0-5]|2[0-4]\\d)$");
for (var i=0; i<inputList.length; i++) {
var tempResult = ipRegex.test(inputList[i]);
flagList.push(tempResult);
}
if (inputString.replace(/\s/gi, "").length === 0) {
return true;
} else if(flagList.indexOf(false) !== -1) {
return false;
} else {
return true;
}
}
函数inputCheck(inputString){
var inputList=inputString.split(“\n”);
var-flagList=[];
var ipRegex=new RegExp(“^([1-9]?\\d|1\\d\\d|2[0-5][0-5]| 2[0-4]\\d)\\){3}([1-9]?\\d|1\\d\\d|2[0-5][0-5]| 2[0-4]\\d)$”;
对于(var i=0;iTry/(?!0.0.0.0)(?!255.255.255)(?:\d\d\d | 1\d\d | 2[0-4]\d | 25[0-5])(?:\(?:\d |\d\d\d | 1\d | 2[0-4]\d | 25[0-5]){3$/g<
return str !== '0.0.0.0' && str !== '255.255.255.255' ? regex.test(str) : false
这应该适合您:
^(?!0\.0\.0\.0\.255\.255\.255\.255)(((2[0-4][0-9]|5[0-5])1[0-9]{2}{124;[0-9]{1,2}){3}((2[0-4][0-9]| 5[0-5])1[0-9]{2}{1,2}){1,2}>
^
-开始
(?!0\.0\.0\.0 | 255\.255\.255\.255)
-不是0.0.0.0或255.255.255.255
((2([0-4][0-9]| 5[0-5]))| 1[0-9]{2}|[0-9]{1,2})
-0-255
((2([0-4][0-9]| 5[0-5]))| 1[0-9]{2}{0-9]{1,2})\{3}
-0-255,然后是一个句号,三次
((2([0-4][0-9]| 5[0-5]))| 1[0-9]{2}{0-9]{1,2}))
-0-255
$
-结束
只需添加一个简单的条件,str!=“0.0.0.0”&&str!=“255.255.255.255”
?看看你应该使用这个正则表达式==>谢谢,但我想做的是用我的正则表达式测试输入字符串并将其解析为true或false。因此,我需要正则表达式,而不是JS修改。我编辑了我的问题,请检查。谢谢you@JaehanPark那里是另外两个已经解决了正则表达式解决方案的答案,您可以使用它们中的任何一个。如果您不希望像2.3.04.43
这样的东西工作(即04
位),那么[0-9]{1,2}
部分可能应该更改为[1-9]?[0-9]
。