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 相关文章推荐
js的闭包的一个示例说明
Nov 18 Javascript
JS类的封装及实现代码
Dec 02 Javascript
jquery中的sortable排序之后的保存状态的解决方法
Jan 28 Javascript
js左侧多级菜单动态的解决方案
Feb 01 Javascript
js格式化货币数据实现代码
Sep 04 Javascript
jQuery实现视频作为全屏幕背景
Dec 18 Javascript
JS获取数组最大值、最小值及长度的方法
Nov 24 Javascript
javascript 用函数实现继承详解
May 28 Javascript
基于js实现的限制文本框只可以输入数字
Dec 05 Javascript
手机移动端实现 jquery和HTML5 Canvas的幸运大奖盘特效
Dec 06 Javascript
jQuery实现的五星点评功能【案例】
Feb 18 jQuery
vue中使用微信公众号js-sdk踩坑记录
Mar 29 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
检查php文件中是否含有bom的函数
2012/05/31 PHP
帝国cms目录结构分享
2015/07/06 PHP
php封装的图片(缩略图)处理类完整实例
2016/10/19 PHP
php实现的mysqldb读写分离操作类示例
2017/02/07 PHP
PHP中用Trait封装单例模式的实现
2019/12/18 PHP
JS中confirm,alert,prompt函数区别分析
2011/01/17 Javascript
11款新鲜的jQuery插件[附所有demo下载]
2011/01/24 Javascript
计算世界完全对称日的js代码,粗糙版
2011/11/04 Javascript
JQuery实现当鼠标停留在某区域3秒后自动执行
2014/09/09 Javascript
一个jquery实现的不错的多行文字图片滚动效果
2014/09/28 Javascript
原生javascript实现的一个简单动画效果
2016/03/30 Javascript
学习Angularjs分页指令
2016/07/01 Javascript
BootStrap tab选项卡使用小结
2020/08/09 Javascript
详解js中==与===的区别
2017/01/08 Javascript
浅谈webpack打包之后的文件过大的解决方法
2018/03/07 Javascript
vue主动刷新页面及列表数据删除后的刷新实例
2018/09/16 Javascript
详解vue-router导航守卫
2019/01/19 Javascript
详解vue-cli 脚手架 安装
2019/04/16 Javascript
js实现拖动缓动效果
2020/01/13 Javascript
Vue 构造选项 - 进阶使用说明
2020/08/14 Javascript
[44:26]DOTA2上海特级锦标赛主赛事日 - 2 胜者组第一轮#4EG VS Fnatic第二局
2016/03/03 DOTA
[01:20]DOTA2 2017国际邀请赛冠军之路无止竞
2017/06/19 DOTA
Python爬虫DNS解析缓存方法实例分析
2017/06/02 Python
高质量Python代码编写的5个优化技巧
2017/11/16 Python
Python中的pygal安装和绘制直方图代码分享
2017/12/08 Python
简单了解python filter、map、reduce的区别
2020/01/14 Python
Python暴力破解Mysql数据的示例
2020/11/09 Python
用Python自动清理系统垃圾的实现
2021/01/18 Python
CSS3 渐变(Gradients)之CSS3 线性渐变
2016/07/08 HTML / CSS
利用css3实现的简单的鼠标悬停按钮
2014/11/04 HTML / CSS
英国独特礼物想法和个性化礼物网站:notonthehighstreet.com
2018/04/16 全球购物
CHARLES & KEITH台湾官网:新加坡时尚品牌
2019/07/30 全球购物
教师岗位职责范本
2013/12/29 职场文书
CSS3实现的侧滑菜单
2021/04/27 HTML / CSS
深入详解JS函数的柯里化
2021/06/09 Javascript
Linux安装apache服务器的配置过程
2021/11/27 Servers