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 API学Jquery 之二 属性
Apr 09 Javascript
javascript 密码强度验证规则、打分、验证(给出前端代码,后端代码可根据强度规则翻译)
May 18 Javascript
js如何设置在iframe框架中指定div不显示
Dec 04 Javascript
jQuery源码分析之Callbacks详解
Mar 13 Javascript
jQuery实现表格展开与折叠的方法
May 04 Javascript
jquery图片滚动放大代码分享(2)
Aug 28 Javascript
JavaScript学习小结之使用canvas画“哆啦A梦”时钟
Jul 24 Javascript
微信小程序开发之视频播放器 Video 弹幕 弹幕颜色自定义实例
Dec 08 Javascript
bootstrap弹出层的多种触发方式
May 10 Javascript
微信小程序模板消息限制实现无限制主动推送的示例代码
Aug 27 Javascript
JQuery插件tablesorter表格排序实现过程解析
May 28 jQuery
AngularJs的$http发送POST请求,php无法接收Post的数据问题及解决方案
Aug 13 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
用windows下编译过的eAccelerator for PHP 5.1.6实现php加速的使用方法
2007/09/30 PHP
javascript+css 网页每次加载不同样式的实现方法
2009/12/27 Javascript
javascript 图片上一张下一张链接效果代码
2010/03/12 Javascript
仅Firefox中链接A无法实现模拟点击以触发其默认行为
2011/07/31 Javascript
jquery实现按Enter键触发事件示例
2013/09/10 Javascript
JS执行删除前的判断代码
2014/02/18 Javascript
JS中使用sort结合localeCompare实现中文排序实例
2014/07/23 Javascript
jQuery实现高亮显示的方法
2015/03/10 Javascript
JavaScript DOM进阶方法
2015/04/13 Javascript
理解javascript对象继承
2016/04/17 Javascript
使用JQuery 加载页面时调用JS的实现方法
2016/05/30 Javascript
JS实现碰撞检测的方法分析
2018/01/19 Javascript
Node.js Buffer用法解读
2018/05/18 Javascript
vue3.0 CLI - 2.1 -  component 组件入门教程
2018/09/14 Javascript
webpack打包多页面的方法
2018/11/30 Javascript
JS实现返回上一页并刷新页面的方法分析
2019/07/16 Javascript
layui实现数据表格自定义数据项
2019/10/26 Javascript
JS addEventListener()和attachEvent()方法实现注册事件
2021/01/11 Javascript
JavaScript实现跟随鼠标移动的盒子
2021/01/28 Javascript
[11:01]2014DOTA2西雅图邀请赛 冷冷带你探秘威斯汀
2014/07/08 DOTA
[58:32]EG vs Liquid 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python的Django框架下管理站点的基本方法
2015/07/17 Python
python3利用venv配置虚拟环境及过程中的小问题小结
2018/08/01 Python
python 读写文件包含多种编码格式的解决方式
2019/12/20 Python
pytorch自定义二值化网络层方式
2020/01/07 Python
PyTorch 解决Dataset和Dataloader遇到的问题
2020/01/08 Python
Python for循环通过序列索引迭代过程解析
2020/02/07 Python
python中xlrd模块的使用详解
2021/02/01 Python
Matplotlib animation模块实现动态图
2021/02/25 Python
CSS3 Media Queries(响应式布局可以让你定制不同的分辨率和设备)
2013/06/06 HTML / CSS
Subside Sports德国:足球球衣和球迷商品
2019/06/08 全球购物
企业项目策划书
2014/01/11 职场文书
大学同学聚会邀请函
2014/01/19 职场文书
第一批党的群众路线教育实践活动总结报告
2014/07/03 职场文书
行政执法队伍作风整顿剖析材料
2014/10/11 职场文书
2014年前台个人工作总结
2014/11/14 职场文书