JS中IP地址与整数相互转换的实现代码

发布时间 - 2026-01-11 00:35:47    点击率:

主要用于在js判断用户输入的一个ip段是否合法,如:192.168.1.11-192.168.1.134

实现代码一:

function ipToNumber(ip) { 
  var num = 0; 
  if(ip == "") { 
    return num; 
  }   
  var aNum = ip.split(".");  
  if(aNum.length != 4) { 
    return num; 
  }   
  num += parseInt(aNum[0]) << 24; 
  num += parseInt(aNum[1]) << 16; 
  num += parseInt(aNum[2]) << 8; 
  num += parseInt(aNum[3]) << 0; 
  num = num >>> 0;//这个很关键,不然可能会出现负数的情况 
  return num;  
}   
  
function numberToIp(number) {   
  var ip = ""; 
  if(number <= 0) { 
    return ip; 
  } 
  var ip3 = (number << 0 ) >>> 24; 
  var ip2 = (number << 8 ) >>> 24; 
  var ip1 = (number << 16) >>> 24; 
  var ip0 = (number << 24) >>> 24 
   
  ip += ip3 + "." + ip2 + "." + ip1 + "." + ip0; 
   
  return ip;   
} 

实现代码二:

//IP转成整型
function _ip2int(ip) 
{
  var num = 0;
  ip = ip.split(".");
  num = Number(ip[0]) * 256 * 256 * 256 + Number(ip[1]) * 256 * 256 + Number(ip[2]) * 256 + Number(ip[3]);
  num = num >>> 0;
  return num;
}
//整型解析为IP地址
function _int2iP(num) 
{
  var str;
  var tt = new Array();
  tt[0] = (num >>> 24) >>> 0;
  tt[1] = ((num << 8) >>> 24) >>> 0;
  tt[2] = (num << 16) >>> 24;
  tt[3] = (num << 24) >>> 24;
  str = String(tt[0]) + "." + String(tt[1]) + "." + String(tt[2]) + "." + String(tt[3]);
  return str;
}

以上就是完整代码,需要的朋友可以参考一下。


# IP地址  # 整数  # 相互转换  # 整型  # 主要用于  # 转成  # 是否合法  # var  # function  # ipToNumber  # split  # length  # aNum  # num  # return  # brush  # ip  # lt  # js  # pre  # class  # parseInt  # _ip2int 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何使用Socialite实现第三方登录?(微信/GitHub示例)  如何在建站主机中优化服务器配置?  再谈Python中的字符串与字符编码(推荐)  Laravel软删除怎么实现_Laravel Eloquent SoftDeletes功能使用教程  中山网站制作网页,中山新生登记系统登记流程?  Firefox Developer Edition开发者版本入口  Laravel storage目录权限问题_Laravel文件写入权限设置  郑州企业网站制作公司,郑州招聘网站有哪些?  Claude怎样写约束型提示词_Claude约束提示词写法【教程】  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  简单实现Android文件上传  如何在万网主机上快速搭建网站?  中山网站推广排名,中山信息港登录入口?  悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音  Win11怎么设置虚拟桌面 Win11新建多桌面切换操作【技巧】  python中快速进行多个字符替换的方法小结  如何快速搭建高效可靠的建站解决方案?  php json中文编码为null的解决办法  ,怎么在广州志愿者网站注册?  Laravel如何使用软删除(Soft Deletes)功能_Eloquent软删除与数据恢复方法  手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?  在线教育网站制作平台,山西立德教育官网?  Laravel Facade的原理是什么_深入理解Laravel门面及其工作机制  javascript中数组(Array)对象和字符串(String)对象的常用方法总结  小米17系列还有一款新机?主打6.9英寸大直屏和旗舰级影像  微信小程序制作网站有哪些,微信小程序需要做网站吗?  ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】  为什么php本地部署后css不生效_静态资源加载失败修复技巧【技巧】  如何在IIS中配置站点IP、端口及主机头?  javascript中的try catch异常捕获机制用法分析  Laravel如何集成微信支付SDK_Laravel使用yansongda-pay实现扫码支付【实战】  最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?  Laravel用户密码怎么加密_Laravel Hash门面使用教程  如何快速生成橙子建站落地页链接?  如何快速搭建高效WAP手机网站?  Laravel怎么实现验证码(Captcha)功能  如何在IIS7中新建站点?详细步骤解析  Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势  phpredis提高消息队列的实时性方法(推荐)  历史网站制作软件,华为如何找回被删除的网站?  百度输入法ai面板怎么关 百度输入法ai面板隐藏技巧  Laravel怎么设置路由分组Prefix_Laravel多级路由嵌套与命名空间隔离【步骤】  使用豆包 AI 辅助进行简单网页 HTML 结构设计  Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】  桂林网站制作公司有哪些,桂林马拉松怎么报名?  如何在腾讯云服务器上快速搭建个人网站?  Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用  千库网官网入口推荐 千库网设计创意平台入口  Laravel怎么使用artisan命令缓存配置和视图  韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南