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 设置文本框中焦点的位置
Nov 20 Javascript
javascript 特性检测并非浏览器检测
Jan 15 Javascript
ajax不执行success回调而是执行了error回调
Dec 10 Javascript
jquery实现背景墙聚光灯效果示例分享
Mar 02 Javascript
jquery 操作两个select实现值之间的互相传递
Mar 07 Javascript
Javascript图片上传前的本地预览实例
Jun 16 Javascript
详解XMLHttpRequest(一)同步请求和异步请求
Sep 14 Javascript
canvas 画布在主流浏览器中的尺寸限制详细介绍
Dec 15 Javascript
使用ES6语法重构React代码详解
May 09 Javascript
Vue2.0如何发布项目实战
Jul 27 Javascript
详解vue-cli构建项目反向代理配置
Sep 07 Javascript
mui框架 页面无法滚动的解决方法(推荐)
Jan 25 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面向对象
2012/02/22 PHP
php中isset与empty函数的困惑与用法分析
2019/07/05 PHP
基于Laravel 多个中间件的执行顺序详解
2019/10/21 PHP
[原创]保存的js无法执行的解决办法
2007/02/25 Javascript
js内置对象 学习笔记
2011/08/01 Javascript
Jsonp 关键字详解及json和jsonp的区别,ajax和jsonp的区别
2015/12/30 Javascript
jquery easyui dataGrid动态改变排序字段名的方法
2017/03/02 Javascript
jQuery自定义多选下拉框效果
2017/06/19 jQuery
AngularJS中ng-class用法实例分析
2017/07/06 Javascript
详解django模板与vue.js冲突问题
2019/07/07 Javascript
微信小程序如何修改radio和checkbox的默认样式和图标
2019/07/24 Javascript
js实现旋转木马轮播图效果
2020/01/10 Javascript
Vue引入Stylus知识点总结
2020/01/16 Javascript
关于vue3默认把所有onSomething当作v-on事件绑定的思考
2020/05/15 Javascript
Electron实现应用打包、自动升级过程解析
2020/07/07 Javascript
Python中基本的日期时间处理的学习教程
2015/10/16 Python
django在接受post请求时显示403forbidden实例解析
2018/01/25 Python
Python3处理HTTP请求的实例
2018/05/10 Python
对python3 一组数值的归一化处理方法详解
2018/07/11 Python
Python解决两个整数相除只得到整数部分的实例
2018/11/10 Python
人工神经网络算法知识点总结
2019/06/11 Python
python分布式计算dispy的使用详解
2019/12/22 Python
python内打印变量之%和f的实例
2020/02/19 Python
Python模块常用四种安装方式
2020/10/20 Python
CSS3中currentColor关键字的妙用
2016/02/27 HTML / CSS
HTML5 video 视频标签使用介绍
2014/02/03 HTML / CSS
Helly Hansen工作服美国官方网上商店:为最恶劣的环境
2019/09/04 全球购物
制药工程专业应届生求职信
2013/09/24 职场文书
环境工程与管理大学毕业生求职信
2013/10/02 职场文书
设备动力科岗位职责范本
2014/02/23 职场文书
微电影大赛策划方案
2014/06/05 职场文书
工程负责人任命书
2014/06/06 职场文书
购房委托书范本
2014/09/18 职场文书
法律专业大学生职业生涯规划书:向目标一步步迈进
2014/09/22 职场文书
幼儿园大班见习报告
2014/10/31 职场文书
Nginx报404错误的详细解决方法
2022/07/23 Servers