js-判断域名是否属于内外网(转)

2024-09-03 19:18

本文主要是介绍js-判断域名是否属于内外网(转),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!



/*判断是否是内网IP*/  
function isInnerIPFn(){// 获取当前页面urlvar curPageUrl = window.location.href;console.log('curPageUrl-0  '+curPageUrl);var reg1 = /(http|ftp|https|www):\/\//g;//去掉前缀curPageUrl =curPageUrl.replace(reg1,'');// console.log('curPageUrl-1  '+curPageUrl);var reg2 = /\:+/g;//替换冒号为一点curPageUrl =curPageUrl.replace(reg2,'.');// console.log('curPageUrl-2  '+curPageUrl);curPageUrl = curPageUrl.split('.');//通过一点来划分数组console.log(curPageUrl);var ipAddress = curPageUrl[0]+'.'+curPageUrl[1]+'.'+curPageUrl[2]+'.'+curPageUrl[3];var isInnerIp = false;//默认给定IP不是内网IP      var ipNum = getIpNum(ipAddress);      /** * 私有IP:A类  10.0.0.0    -10.255.255.255 *       B类  172.16.0.0  -172.31.255.255    *       C类  192.168.0.0 -192.168.255.255   *       D类   127.0.0.0   -127.255.255.255(环回地址)  **/     var aBegin = getIpNum("10.0.0.0");      var aEnd = getIpNum("10.255.255.255");      var bBegin = getIpNum("172.16.0.0");      var bEnd = getIpNum("172.31.255.255");      var cBegin = getIpNum("192.168.0.0");      var cEnd = getIpNum("192.168.255.255");   var dBegin = getIpNum("127.0.0.0");      var dEnd = getIpNum("127.255.255.255");  isInnerIp = isInner(ipNum,aBegin,aEnd) || isInner(ipNum,bBegin,bEnd) || isInner(ipNum,cBegin,cEnd) || isInner(ipNum,dBegin,dEnd);  console.log('是否是内网:'+isInnerIp);    return isInnerIp;  
}  
function getIpNum(ipAddress) {/*获取IP数*/      var ip = ipAddress.split(".");      var a = parseInt(ip[0]);      var b = parseInt(ip[1]);      var c = parseInt(ip[2]);      var d = parseInt(ip[3]);  var ipNum = a * 256 * 256 * 256 + b * 256 * 256 + c * 256 + d;      return ipNum;      
}     function isInner(userIp,begin,end){      return (userIp>=begin) && (userIp<=end);      
}   


这篇关于js-判断域名是否属于内外网(转)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1133809

相关文章

判断PyTorch是GPU版还是CPU版的方法小结

《判断PyTorch是GPU版还是CPU版的方法小结》PyTorch作为当前最流行的深度学习框架之一,支持在CPU和GPU(NVIDIACUDA)上运行,所以对于深度学习开发者来说,正确识别PyTor... 目录前言为什么需要区分GPU和CPU版本?性能差异硬件要求如何检查PyTorch版本?方法1:使用命

Python如何精准判断某个进程是否在运行

《Python如何精准判断某个进程是否在运行》这篇文章主要为大家详细介绍了Python如何精准判断某个进程是否在运行,本文为大家整理了3种方法并进行了对比,有需要的小伙伴可以跟随小编一起学习一下... 目录一、为什么需要判断进程是否存在二、方法1:用psutil库(推荐)三、方法2:用os.system调用

Python实现特殊字符判断并去掉非字母和数字的特殊字符

《Python实现特殊字符判断并去掉非字母和数字的特殊字符》在Python中,可以通过多种方法来判断字符串中是否包含非字母、数字的特殊字符,并将这些特殊字符去掉,本文为大家整理了一些常用的,希望对大家... 目录1. 使用正则表达式判断字符串中是否包含特殊字符去掉字符串中的特殊字符2. 使用 str.isa

Python中判断对象是否为空的方法

《Python中判断对象是否为空的方法》在Python开发中,判断对象是否为“空”是高频操作,但看似简单的需求却暗藏玄机,从None到空容器,从零值到自定义对象的“假值”状态,不同场景下的“空”需要精... 目录一、python中的“空”值体系二、精准判定方法对比三、常见误区解析四、进阶处理技巧五、性能优化

JS+HTML实现在线图片水印添加工具

《JS+HTML实现在线图片水印添加工具》在社交媒体和内容创作日益频繁的今天,如何保护原创内容、展示品牌身份成了一个不得不面对的问题,本文将实现一个完全基于HTML+CSS构建的现代化图片水印在线工具... 目录概述功能亮点使用方法技术解析延伸思考运行效果项目源码下载总结概述在社交媒体和内容创作日益频繁的

Node.js 数据库 CRUD 项目示例详解(完美解决方案)

《Node.js数据库CRUD项目示例详解(完美解决方案)》:本文主要介绍Node.js数据库CRUD项目示例详解(完美解决方案),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考... 目录项目结构1. 初始化项目2. 配置数据库连接 (config/db.js)3. 创建模型 (models/

使用Node.js制作图片上传服务的详细教程

《使用Node.js制作图片上传服务的详细教程》在现代Web应用开发中,图片上传是一项常见且重要的功能,借助Node.js强大的生态系统,我们可以轻松搭建高效的图片上传服务,本文将深入探讨如何使用No... 目录准备工作搭建 Express 服务器配置 multer 进行图片上传处理图片上传请求完整代码示例

用js控制视频播放进度基本示例代码

《用js控制视频播放进度基本示例代码》写前端的时候,很多的时候是需要支持要网页视频播放的功能,下面这篇文章主要给大家介绍了关于用js控制视频播放进度的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言html部分:JavaScript部分:注意:总结前言在javascript中控制视频播放

CentOS 7部署主域名服务器 DNS的方法

《CentOS7部署主域名服务器DNS的方法》文章详细介绍了在CentOS7上部署主域名服务器DNS的步骤,包括安装BIND服务、配置DNS服务、添加域名区域、创建区域文件、配置反向解析、检查配置... 目录1. 安装 BIND 服务和工具2.  配置 BIND 服务3 . 添加你的域名区域配置4.创建区域

Python如何获取域名的SSL证书信息和到期时间

《Python如何获取域名的SSL证书信息和到期时间》在当今互联网时代,SSL证书的重要性不言而喻,它不仅为用户提供了安全的连接,还能提高网站的搜索引擎排名,那我们怎么才能通过Python获取域名的S... 目录了解SSL证书的基本概念使用python库来抓取SSL证书信息安装必要的库编写获取SSL证书信息