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

相关推荐
wx_lidysun5 小时前
Nextjs学习笔记
前端·react·next
无羡仙7 小时前
从零构建 Vue 弹窗组件
前端·vue.js
源心锁8 小时前
👋 手搓 gzip 实现的文件分块压缩上传
前端·javascript
源心锁9 小时前
丧心病狂!在浏览器全天候记录用户行为排障
前端·架构
GIS之路9 小时前
GDAL 实现投影转换
前端
phltxy9 小时前
从零入门JavaScript:基础语法全解析
开发语言·javascript
烛阴9 小时前
从“无”到“有”:手动实现一个 3D 渲染循环全过程
前端·webgl·three.js
BD_Marathon9 小时前
SpringBoot——辅助功能之切换web服务器
服务器·前端·spring boot
Kagol9 小时前
JavaScript 中的 sort 排序问题
前端·javascript
eason_fan10 小时前
Service Worker 缓存请求:前端性能优化的进阶利器
前端·性能优化