js 正则表达式 验证 ip列表--详情:页面中一个输入框,可输入1个或多个IP,使用英文逗号隔开...

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全部正确

你可能感兴趣的:(javascript,tcp/ip,前端)