IPV 6 / IPV 4大小比较,判断IPV6/IPV4范围的开始和结束
IP 比较大小的目的是为了确认IP 范围的正确性,前提是必须是同一网段的
原理:举个IPV 4 的例子:
127.0.0.1 和 128.0.0.2 是不同的两个网段,不同网段下边的IP是无法对比大小的,因为互不通信,互不影响。
只有在同一个网段的两个 IP 才能比较大小,那么简单的来说,在网段相同的情况下,只用判断最后一部分的大小关系即可
IPV 6 是十进制的,以" . "隔开,切分为数组之后,然后在进行比较最后一位即可
IPV 6 是十六进制的,以" : "隔开,需要先转换为十进制的,然后在进行比较
以下是IPV 4判断范围始终的代码:
var ip1 = "127.0.0.4";
var ip2 = "127.0.0.5";
function trans(ip){var arr1 = ip.toUpperCase().split('.'); // 将 IPV4 先用split 切为数组,return parseInt((arr1[arr1.length]-1)); // 找到数组最后一项,return 出去// return parseInt(ip.toUpperCase().split('.')[ip.toUpperCase().split('.').length-1]); // 如果担心多余变量的话,可以直接return 出去,二选一,
}
function result(start,end){return trans(start) < trans(end); // 传入开始IP 和 结束 IP ,通过trans 获得IP了最后一项的一串十进制的数字
}
console.log(result(ip1,ip2))
直接调用就可以得到一个布尔值,通过布尔值来添加错误提示即可
以下是IPV 6判断范围始终的代码:
var ip1 = "fd00:dead:beef:58::9";
var ip2 = "fd00:dead:beef:58::13";
function trans(ip){var arr1 = ip.toUpperCase().split(':'); // 将 IPV6 先用split 切为数组,return parseInt((arr1[arr1.length]-1),16); // 找到数组最后一项,然后转化为10进制的// return parseInt(ip.toUpperCase().split(':')[ip.toUpperCase().split(':').length-1],16); // 如果担心多余变量的话,可以直接return 出去,二选一,
}
function result(start,end){return trans(start) < trans(end); // 传入开始IP 和 结束 IP ,通过trans 获得IP了最后一项的一串十进制的数字
}
console.log(result(ip1,ip2))
直接调用就可以得到一个布尔值,通过布尔值来添加错误提示即可
IPV 6 / IPV 4大小比较,判断IPV6/IPV4范围的开始和结束相关推荐
- 时间日期大小比较判断,时间戳/时间 - 转换
时间日期大小比较判断,时间戳/时间 - 转换 当前时间转为时间戳: var currentTimestamp = new Date().getTime(); 当前时间对象 var curDate = ...
- java 时间判断大小_java判断时间大小
//构造日期格式yyyy-MM-NN SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); Date d ...
- 如何根据IP地址判断是IPv4还是IPv6
IPv4地址的书写形式为:"192.168.0.1" IPv6地址的书写形式为:"2001:DB8:85A3:8D3:1319:8A2E:370:7344" 给 ...
- javascript判断IPV6格式
随着ipv6的普及,在web上添加ip6地址的要求逐渐增多,下面这个函数是我按照ipv6的定义写的判断,可以用来判断正常的,缩写的ipv6格式,同时可以判断ipv6和ipv4混合的格式: //统计 1 ...
- 判断IPV6地址格式是否正确
1.判断IPV6地址格式是否正确 此功能代码实现判断IPV6地址是否正确,正确返回1,错误误返回0. #define H(x) ((unsigned char *) & (x) )[0] #d ...
- c语言判断ipv6地址合法,判断IPv6地址合法性
在 头文件下有下列这些宏用于判断IPv6地址合法性 返回0代表true,返回非零值代表ipv6地址为非指定类型的的地址(false) intIN6_IS_ADDR_UNSPECIFIED(const ...
- IPV6 IPV4双栈互通与静态路由
实验名称:ipv6 ipv4双栈互通与静态路由 实验目的:路由器和主机上同时配置ipv4和ipv6,最后实现不同协议栈都能互连互通 实验拓扑图: 实验主要配置步骤: 如图配置PC的ip地址和ipv6地 ...
- php修改ip6地址为ip4,CentOS7 设置静态IPv6/IPv4地址
1 环境准备 实验均在Vmware Workstation虚拟机上完成,上网方式选择桥接模式,保证网络支持IPv6,为了操作方便,我们使用root用户登录系统 1.1 Linux系统版本 CentOS ...
- 双栈路由Linux,IPV6 IPV4双栈互通与静态路由
实验名称:ipv6 ipv4双栈互通与静态路由 实验目的:路由器和主机上同时配置ipv4和ipv6,最后实现不同协议栈都能互连互通 实验拓扑图: 实验主要配置步骤: 如图配置PC的ip地址和ipv6地 ...
最新文章
- 经常使用的npm命令
- 学python要基础吗-自学Python要有其他语言基础吗?
- MapReduce多个job同时使用的方式(从网上找到的案例,原始博文:http://www.cnblogs.com/yjmyzz/p/4540469.html)
- oracle分歧处理,ORACLE 过程中容错处理
- php获取当前世界,php获取网站alexa世界流量排名代码
- wex5部署教程到数据库
- linux php 语法加亮,用js函数PHP语法加亮
- Java(2)数据类型转换、变量和常量
- 要是面试官再问我volatile,我就这么答
- 关于sip软电话嵌入到网页web端的学习----第一天(1)(高手指点)
- ODM、JDM、OBM 、OEM概念的区别与理解
- 2020年中国SCADA行业产值、市场规模及竞争格局分析[图]
- Ubuntu安装Gcc时,显示“无法解析域名cn.archive.ubuntu.com”,如下方式可解决
- 常用的数学函数以及浮点数处理函数
- 嵌入式计算机的关键特征,与通用计算机的区别
- 【Python爬虫】MongoDB爬虫实践:爬取虎扑论坛
- 马化腾: 你想想不充钱能不能玩这游戏? 丁磊:你仔细想想不充钱能不能玩这游戏? 张栋:CNM我就问你不充钱能玩我运营的游戏吗?
- ZJOI2016一点也不好玩啊
- 莫烦---Pytorch学习
- php网页右下方广告窗口,javascript实现右下角广告框效果