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多重继承示例
Mar 13 Javascript
jQuery中使用了document和window哪些属性和方法小结
Sep 13 Javascript
jquery ajax对特殊字符进行转义防止js注入使用示例
Nov 21 Javascript
JS小功能(checkbox实现全选和全取消)实例代码
Nov 28 Javascript
jQuery:delegate中select()不起作用的解决方法(实例讲解)
Jan 26 Javascript
jQuery实现类似标签风格的导航菜单效果代码
Aug 25 Javascript
谈谈Jquery ajax中success和complete有哪些不同点
Nov 20 Javascript
归纳下js面向对象的几种常见写法总结
Aug 24 Javascript
详解React-Native全球化多语言切换工具库react-native-i18n
Nov 03 Javascript
extract-text-webpack-plugin用法详解
Feb 14 Javascript
javascript实现简易计算器功能
Sep 23 Javascript
OpenLayers实现图层切换控件
Sep 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 设计模式之 工厂模式
2008/12/19 PHP
简单的php中文转拼音的实现代码
2014/02/11 PHP
JSON PHP中,Json字符串反序列化成对象/数组的方法
2018/05/31 PHP
PHP设计模式之命令模式示例详解
2020/12/20 PHP
JavaScript 对Cookie 操作的封装小结
2009/12/31 Javascript
javascript setAttribute, getAttribute 在不同浏览器上的不同表现
2010/08/05 Javascript
jquery操作checked属性以及disabled属性的多种方法
2014/06/20 Javascript
使用VS开发 Node.js指南
2015/01/06 Javascript
JavaScript常用函数工具集:lao-utils
2016/03/01 Javascript
Jquery基础之事件操作详解
2016/06/14 Javascript
JS实现放大、缩小及拖拽图片的方法【可兼容IE、火狐】
2016/08/23 Javascript
JS区分Object与Aarry的六种方法总结
2017/02/27 Javascript
轻松实现jQuery添加删除按钮Click事件
2017/03/13 Javascript
用vue写一个仿简书的轮播图的示例代码
2018/03/13 Javascript
vue拖拽组件使用方法详解
2018/12/01 Javascript
微信小程序在地图选择地址并返回经纬度简单示例
2018/12/03 Javascript
微信小程序日历效果
2018/12/29 Javascript
浅入深出Vue之组件使用
2019/07/11 Javascript
js判断鼠标移入移出方向的方法
2020/06/24 Javascript
Nuxt配置Element-UI按需引入的操作方法
2020/07/06 Javascript
在MAC上搭建python数据分析开发环境
2016/01/26 Python
Python内建函数之raw_input()与input()代码解析
2017/10/26 Python
tornado 多进程模式解析
2018/01/15 Python
Python异常处理操作实例详解
2018/08/28 Python
PyCharm设置每行最大长度限制的方法
2019/01/16 Python
使用pyecharts生成Echarts网页的实例
2019/08/12 Python
Python GUI库PyQt5样式QSS子控件介绍
2020/02/25 Python
Selenium自动化测试工具使用方法汇总
2020/06/12 Python
Python爬虫爬取新闻资讯案例详解
2020/07/14 Python
CSS3 flex布局之快速实现BorderLayout布局
2015/12/03 HTML / CSS
HTML5 canvas实现的静态循环滚动播放弹幕
2021/01/05 HTML / CSS
c++工程师面试问题
2013/08/04 面试题
php优化查询foreach代码实例讲解
2021/03/24 PHP
本科生学习总结的自我评价
2013/10/02 职场文书
中学教师读书笔记
2015/07/01 职场文书
Python基础之字符串格式化详解
2021/04/21 Python