除了0.0.0.0和255.255.255.255之外,什么是合适的JavaScript IPv4正则表达式?

除了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")

你们能告诉我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");
        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]