如题。
<!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>