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

相关推荐
鱼人8 分钟前
Vue 3 组合式 API 最佳实践:如何写出可维护的代码
前端
wuhen_n8 分钟前
LangChain 自定义 Tool 封装:打造专属 AI 能力工具集
前端·langchain·ai编程
长大19888 分钟前
彻底搞懂 JavaScript 事件循环
前端
橘猫走江湖10 分钟前
Web 前端本地存储:localStorage 与 IndexedDB
前端·javascript·indexeddb
小强198810 分钟前
CSS 布局进化史:从 Float 到 Flexbox 再到 Grid
前端
AKA__老方丈12 分钟前
删除确认 Hook - 统一管理单删/批量删除的确认弹窗与执行
前端·javascript·vue.js
云间寄信13 分钟前
JS:数据结构与集合
javascript
假如让我当三天老蒯15 分钟前
React+TS 项目结构(自学项目用)
前端·react.js
yingyima17 分钟前
Celery 分布式任务队列:我差点被这行代码坑死
前端
用户1257585243617 分钟前
XYGo Admin 即时通讯模块解析:基于 WebSocket 的企业级消息架构实践
前端