js校验IP地址及地址段

jsbuzhidao 2016-08-17 09:47:44
请问js如何校验IP地址及IP地址段
具体要求:

<input type="text" id="IP"/>
<input type="button" onclick="IP()" value="校验">
text文本框,
1,可以输入是纯IP格式如:172.16.5.4
2,可以同时输入多个IP地址,中间用逗号隔开如:192.168.5.4,172.4.6.8
3、可以输入IP段,用星号表示,例如:180.2.15.*,当然也可以后三位都是星号如101.*.*.*
输入IP段后,指定的包含IP地址不能输入,因为有冲突,例如输入了180.2.*.*,不能在输入180.2.5.1(包含在180.2.*.*里)
4,可以同时输入多个IP段,中间也用逗号隔开,如180.2.15*,101.*.*.*
非常感谢
...全文
935 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_35917817 2016-08-20
  • 打赏
  • 举报
回复
rrewGFT
泡泡鱼_ 2016-08-20
  • 打赏
  • 举报
回复
输入内容的整体校验,可以使用正则

var re      =   /^((,)?(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.((\d{1,2}|1\d\d|2[0-4]\d|25[0-5])|\*)\.((\d{1,2}|1\d\d|2[0-4]\d|25[0-5])|\*)\.((\d{1,2}|1\d\d|2[0-4]\d|25[0-5])|\*))+$/;

alert(re.test(document.getElementById('IP').value))
但是后面那个“包含”关系,正则我很菜,所以我不知道仅凭正则能不能完成。要是我的话,那肯定是要做单独的判断去校验了
落跑大叔 2016-08-19
  • 打赏
  • 举报
回复
怎么个校验法,就是确定每一个段位都大于0小于255么
jsbuzhidao 2016-08-18
  • 打赏
  • 举报
回复
自己来顶一下

87,901

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧