首页 > 解决方案 > 什么是正确的 JavaScript IPv4 正则表达式,不包括 0.0.0.0 和 255.255.255.255?

问题描述

你们能否让我知道 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;
        }
    }

标签: javascriptregexipv4

解决方案


您可以在使用正则表达式之前简单地添加一个检查

return  str !== '0.0.0.0' && str !== '255.255.255.255'  ? regex.test(str) : false

推荐阅读