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中的闭包原理分析
Mar 08 Javascript
JS 文件传参及处理技巧分析
May 13 Javascript
javaScript基础语法介绍
Feb 28 Javascript
jquery实现通用的内容渐显Tab选项卡效果
Sep 07 Javascript
vuejs指令详解
Feb 07 Javascript
javascript实现动态显示颜色块的报表效果
Apr 10 Javascript
vuejs实现本地数据的筛选分页功能思路详解
Nov 15 Javascript
jQuery实现点击自身以外区域关闭弹出层功能完整示例【改进版】
Jul 31 jQuery
Vue移动端右滑屏幕返回上一页附源码下载
Jun 26 Javascript
Vue 实现监听窗口关闭事件,并在窗口关闭前发送请求
Sep 01 Javascript
Javascript数组及类数组相关原理详解
Oct 29 Javascript
node中使用shell脚本的方法步骤
Mar 23 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
一个捕获函数输出的函数
2007/02/14 PHP
PHP 中关于ord($str)&amp;gt;0x80的详细说明
2012/09/23 PHP
Laravel 5框架学习之路由、控制器和视图简介
2015/04/07 PHP
大家在抢红包,程序员在研究红包算法
2015/08/31 PHP
PHP手机号中间四位用星号*代替显示的实例
2017/06/02 PHP
多个Laravel项目如何共用migrations详解
2018/09/25 PHP
PHP反射学习入门示例
2019/06/14 PHP
php使用gearman进行任务分发操作实例详解
2020/02/26 PHP
百度Popup.js弹出框进化版 拖拽小框架发布 兼容IE6/7/8,Firefox,Chrome
2010/04/13 Javascript
javascript 密码强度验证规则、打分、验证(给出前端代码,后端代码可根据强度规则翻译)
2010/05/18 Javascript
推荐20家国外的脚本下载网站
2011/04/28 Javascript
jQuery :nth-child前有无空格的区别分析
2011/07/11 Javascript
文本框获得焦点和失去焦点的判断代码
2012/03/18 Javascript
JQuery记住用户名密码实现下次自动登录功能
2015/04/27 Javascript
学习JavaScript设计模式之观察者模式
2020/04/22 Javascript
JavaScript从0开始构思表情插件
2016/07/26 Javascript
详解JavaScript权威指南之对象
2016/09/27 Javascript
angularjs定时任务的设置与清除示例
2017/06/02 Javascript
鼠标拖动改变DIV等网页元素的大小的实现方法
2017/07/06 Javascript
webpack配置打包后图片路径出错的解决
2018/04/26 Javascript
vue-cli打包后本地运行dist文件中的index.html操作
2020/08/12 Javascript
Vue-router中hash模式与history模式的区别详解
2020/12/15 Vue.js
[01:11:10]2014 DOTA2华西杯精英邀请赛 5 24 iG VS VG加赛
2014/05/26 DOTA
python判断端口是否打开的实现代码
2013/02/10 Python
Python判断某个用户对某个文件的权限
2016/10/13 Python
python版本的仿windows计划任务工具
2018/04/30 Python
python爬虫正则表达式之处理换行符
2018/06/08 Python
Python time库基本使用方法分析
2019/12/13 Python
Python字符串的修改方法实例
2019/12/19 Python
卸载tensorflow-cpu重装tensorflow-gpu操作
2020/06/23 Python
雪花秀美国官方网站:韩国著名草本护肤化妆品品牌
2016/10/19 全球购物
美国家居装饰和豪华家具购物网站:One Kings Lane
2018/12/24 全球购物
如果Session Bean得Remove方法一直都不被调用会怎么样
2012/07/14 面试题
工程师求职简历的自我评价分享
2013/10/10 职场文书
敬老院活动感想
2015/08/07 职场文书
Python装饰器详细介绍
2022/03/25 Python