js 验证ip列表

如题。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>js 验证ip列表</title>
    </head>
    <body>
    </body>
    <script type="text/javascript">
    var isIp = function (){
        var regexp = /^d{1,3}.d{1,3}.d{1,3}.d{1,3}$/;
                 
        return function(value){
            var valid = regexp.test(value);
     
            if(!valid){//首先必须是 xxx.xxx.xxx.xxx 类型的数字,如果不是,返回false
                return false;
            }
             
            return value.split('.').every(function(num){
                //切割开来,每个都做对比,可以为0,可以小于等于255,但是不可以0开头的俩位数
                //只要有一个不符合就返回false
                if(num.length > 1 && num.charAt(0) === '0'){
                    //大于1位的,开头都不可以是‘0’
                    return false;
                }else if(parseInt(num , 10) > 255){
                    //大于255的不能通过
                    return false;
                }
                return true;
            });
        }
    }();
     
     
    var test_ip = '123.12.123.1';//一个普通的ip
     
    alert(isIp(test_ip));//返回true
     
    var test_ips = '123.1.1.1,127.0.0.1,192.168.1.1';//多个IP,用逗号(,)隔开
    var isTrue = test_ips.split(',').every(function(ip){
      return isIp(ip);//先将字符串按照逗号分成数组,在校验就可以了
    });
    alert(isTrue);//返回true,上面的ip全部正确
    </script>
</html>
原文地址:https://www.cnblogs.com/xulei1992/p/6479022.html