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

相关推荐
写不来代码的草莓熊几秒前
vue前端面试题——记录一次面试当中遇到的题(3)
前端·javascript·vue.js
道可到11 分钟前
写了这么多代码,你真的在进步吗??—一个前端人的反思与全栈突围路线
前端
洛克大航海13 分钟前
Ajax基本使用
java·javascript·ajax·okhttp
用户9163574409515 分钟前
LeetCode热题100——11.盛最多水的容器
javascript·算法
凡大来啦30 分钟前
v-for渲染的元素上使用ref
前端·javascript·vue.js
道可到32 分钟前
前端开发的生存法则:如何从“像素工人”进化为价值创造者?
前端
中微子43 分钟前
TypeScript 泛型与 ReturnType 详解
前端
我叫张得帅44 分钟前
从零开始的前端异世界生活--003--“探究Domain,DNS,Hosting”
前端
一大树1 小时前
H5在不同操作系统与浏览器中的兼容性挑战及全面解决方案
前端·ios
中微子1 小时前
TypeScript never 类型详解
前端