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 相关文章推荐
JAVASCRIPT HashTable
Jan 22 Javascript
JS对img进行操作(换图片/切图/轮换/停止)
Apr 17 Javascript
点击进行复制的JS代码实例
Aug 23 Javascript
jQuery选择器源码解读(三):tokenize方法
Mar 31 Javascript
jstree创建无限分级树的方法【基于ajax动态创建子节点】
Oct 25 Javascript
jQuery倒计时代码(超简单)
Feb 27 Javascript
JavaScript适配器模式详解
Oct 19 Javascript
总结js函数相关知识点
Feb 27 Javascript
angularjs1.5 组件内用函数向外传值的实例
Sep 30 Javascript
js变量值传到php过程详解 将php解析成数据
Jun 26 Javascript
ES6 Promise对象的应用实例分析
Jun 27 Javascript
前端深入理解Typescript泛型概念
Mar 09 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制作静态网站的模板框架(四)
2006/10/09 PHP
一个不易被发现的PHP后门代码解析
2014/07/05 PHP
PHP连接MySQL数据库并以json格式输出
2018/05/21 PHP
PHP接入微信H5支付的方法示例
2019/10/28 PHP
jQuery+css+html实现页面遮罩弹出框
2013/03/21 Javascript
编写简单的jQuery提示插件
2014/12/21 Javascript
JavaScript中对象property的读取和写入方法介绍
2014/12/30 Javascript
JavaScript中的变量作用域介绍
2014/12/31 Javascript
javascript常见数字进制转换实例分析
2016/04/21 Javascript
详解webpack+es6+angular1.x项目构建
2017/05/02 Javascript
JavaScript你不知道的一些数组方法
2017/08/18 Javascript
Vue 组件(component)教程之实现精美的日历方法示例
2018/01/08 Javascript
node.js 基于cheerio的爬虫工具的实现(需要登录权限的爬虫工具)
2019/04/10 Javascript
Centos7 安装Node.js10以上版本的方法步骤
2019/10/15 Javascript
Javascript和jquery在selenium的使用过程
2019/10/31 jQuery
微信小程序自定义纯净模态框(弹出框)的实例代码
2020/03/09 Javascript
nuxt 页面路由配置,主页轮播组件开发操作
2020/11/05 Javascript
JavaScript Dom实现轮播图原理和实例
2021/02/19 Javascript
python使用mysqldb连接数据库操作方法示例详解
2013/12/03 Python
Python聚类算法之基本K均值实例详解
2015/11/20 Python
python获取命令行输入参数列表的实例代码
2018/06/23 Python
tensorflow指定GPU与动态分配GPU memory设置
2020/02/03 Python
基于SQLAlchemy实现操作MySQL并执行原生sql语句
2020/06/10 Python
python3让print输出不换行的方法
2020/08/24 Python
cosme官方海外旗舰店:日本最大化妆品和美容产品的综合口碑网站
2017/01/18 全球购物
澳大利亚设计的优质鞋类和适合澳大利亚生活方式的服装:Rivers
2019/04/23 全球购物
高中的职业生涯规划书
2013/12/28 职场文书
乡镇庆八一活动方案
2014/02/02 职场文书
打造高效课堂实施方案
2014/03/22 职场文书
应用心理学专业求职信
2014/08/04 职场文书
2014银行领导班子四风对照检查材料思想汇报
2014/09/25 职场文书
群众路线专项整治方案
2014/10/27 职场文书
校运会加油稿大全
2015/07/22 职场文书
Redis持久化与主从复制的实践
2021/04/27 Redis
docker-compose部署Yapi的方法
2022/04/08 Servers
Java使用HttpClient实现文件下载
2022/08/14 Java/Android