javascript判断两个IP地址是否在同一个网段的实现思路


Posted in Javascript onDecember 13, 2013

1)基本思路:
要判断两个IP地址是否在同一个网段,将它们的IP地址分别与子网掩码做与运算,得到的结果为网络号,如果网络号相同,就在同一子网,否则,不在同一子网。

2)具体实现:

/** 
* [isEqualIPAddress 判断两个IP地址是否在同一个网段] 
* @param {[String]} addr1 [地址一] 
* @param {[String]} addr2 [地址二] 
* @param {[String]} mask [子网掩码] 
* @return {Boolean} [true or false] 
*/ 
function isEqualIPAddress (addr1,addr2,mask){ 
if(!addr1 || !addr2 || !mask){ 
console.log("各参数不能为空"); 
return false; 
} 
var 
res1 = [], 
res2 = []; 
addr1 = addr1.split("."); 
addr2 = addr2.split("."); 
mask = mask.split("."); 
for(var i = 0,ilen = addr1.length; i < ilen ; i += 1){ 
res1.push(parseInt(addr1[i]) & parseInt(mask[i])); 
res2.push(parseInt(addr2[i]) & parseInt(mask[i])); 
} 
if(res1.join(".") == res2.join(".")){ 
console.log("在同一个网段"); 
return true; 
}else{ 
console.log("不在同一个网段"); 
return false; 
} 
}
Javascript 相关文章推荐
jquery HotKeys轻松搞定键盘事件代码
Aug 30 Javascript
extjs grid设置某列背景颜色和字体颜色的方法
Sep 03 Javascript
TextArea设置MaxLength属性最大输入值的js代码
Dec 21 Javascript
Javascript改变CSS样式(局部和全局)
Dec 18 Javascript
js 设置缓存及获取设置的缓存
May 08 Javascript
js实现控制textarea输入字符串的个数,鼠标按下抬起判断输入字符数
Oct 25 Javascript
ES6中新增的Object.assign()方法详解
Sep 22 Javascript
微信上传视频文件提示(推荐)
Nov 22 Javascript
vue项目前端埋点的实现
Mar 06 Javascript
在Koa.js中实现文件上传的接口功能
Oct 08 Javascript
浅谈vue异步数据影响页面渲染
Oct 29 Javascript
JS面向对象之单选框实现
Jan 17 Javascript
Extjs4中的分页应用结合前后台
Dec 13 #Javascript
php显示当前文件所在的文件以及文件夹所有文件以树形展开
Dec 13 #Javascript
window.print打印指定div实例代码
Dec 13 #Javascript
Javascript中call的两种用法实例
Dec 13 #Javascript
分享JavaScript获取网页关闭与取消关闭的事件
Dec 13 #Javascript
js获取触发事件元素在整个网页中的绝对坐标(示例代码)
Dec 13 #Javascript
浅析XMLHttpRequest的缓存问题
Dec 13 #Javascript
You might like
上海永华YH-R296(华普R-96)12波段立体声收音机的分析和打理
2021/03/02 无线电
用mysql触发器自动更新memcache的实现代码
2009/10/11 PHP
PHP学习 变量使用总结
2011/03/24 PHP
php数组函数序列之ksort()对数组的元素键名进行升序排序,保持索引关系
2011/11/02 PHP
PHP中文字符串截断无乱码解决方法
2016/10/10 PHP
PHP实现对xml的增删改查操作案例分析
2017/05/19 PHP
在 Laravel 中动态隐藏 API 字段的方法
2019/10/25 PHP
javascript学习笔记(四) Number 数字类型
2012/06/19 Javascript
js indexOf()定义和用法
2012/10/21 Javascript
jquery load事件(callback/data)使用方法及注意事项
2013/02/06 Javascript
JQuery中form验证出错信息的查看方法
2013/10/08 Javascript
Javascript实现返回上一页面并刷新的小例子
2013/12/11 Javascript
倒记时60刷新网页的js代码
2014/02/18 Javascript
javascript数组操作总结和属性、方法介绍
2014/04/05 Javascript
深入理解JavaScript系列(37):设计模式之享元模式详解
2015/03/04 Javascript
js改变Iframe中Src的方法
2015/05/05 Javascript
JQuery遍历DOM节点的方法
2015/06/11 Javascript
VUE多层路由嵌套实现代码
2017/05/15 Javascript
Vue表情输入组件 微信face表情组件
2019/02/11 Javascript
JS操作Fckeditor的一些常用方法(获取、插入等)
2020/02/19 Javascript
原生js拖拽功能制作滑动条实例代码
2021/02/05 Javascript
JS canvas实现画板和签字板功能
2021/02/23 Javascript
Python中super关键字用法实例分析
2015/05/28 Python
python画图把时间作为横坐标的方法
2019/07/07 Python
Atom Python 配置Python3 解释器的方法
2019/08/28 Python
Python中断多重循环的几种方式详解
2020/02/10 Python
Python 将代码转换为可执行文件脱离python环境运行(步骤详解)
2021/01/25 Python
MATCHESFASHION.COM美国官网:英国奢侈品零售商
2018/10/29 全球购物
营销总经理的岗位职责
2013/12/15 职场文书
校园十佳歌手策划书
2014/01/22 职场文书
两只小狮子教学反思
2014/02/05 职场文书
三八节主持词
2014/03/17 职场文书
2014幼儿园卫生保健工作总结
2014/12/05 职场文书
审查起诉阶段律师意见书
2015/05/19 职场文书
莫言获奖感言(全文)
2015/07/31 职场文书
整理Python中常用的conda命令操作
2021/06/15 Python