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


Posted in Javascript onApril 10, 2017

主要用于在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;
}

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

Javascript 相关文章推荐
js 新浪的一个图片播放图片轮换效果代码
Jul 15 Javascript
JavaScript学习笔记(十七)js 优化
Feb 04 Javascript
javascript中常用编程知识
Apr 08 Javascript
屏蔽IE弹出&quot;您查看的网页正在试图关闭窗口,是否关闭此窗口&quot;的方法
Dec 31 Javascript
jquery自定义函数的多种方法
Jan 09 Javascript
jQuery 鼠标经过(hover)事件的延时处理示例
Apr 14 Javascript
jquery 3D 标签云示例代码
Jun 12 Javascript
jQuery实现表格颜色交替显示的方法
Mar 09 Javascript
实例讲解jquery中mouseleave和mouseout的区别
Feb 17 Javascript
纯JS实现轮播图
Feb 22 Javascript
浅谈Node.js轻量级Web框架Express4.x使用指南
May 03 Javascript
JointJS JavaScript流程图绘制框架解析
Aug 15 Javascript
详解vue组件化开发-vuex状态管理库
Apr 10 #Javascript
vue中如何引入jQuery和Bootstrap
Apr 10 #jQuery
详解vue.js全局组件和局部组件
Apr 10 #Javascript
Vue2.0使用过程常见的一些问题总结学习
Apr 10 #Javascript
jQuery插件FusionCharts绘制2D柱状图和折线图的组合图效果示例【附demo源码】
Apr 10 #jQuery
jQuery插件FusionCharts绘制2D环饼图效果示例【附demo源码】
Apr 10 #jQuery
vue构建单页面应用实战
Apr 10 #Javascript
You might like
PHP中输出转义JavaScript代码的实现代码
2011/04/22 PHP
PHP面试题之文件目录操作
2015/10/15 PHP
CI框架数据库查询缓存优化的方法
2016/11/21 PHP
用javascript实现给图片加链接
2007/08/15 Javascript
javascript TextArea动态显示剩余字符
2008/10/22 Javascript
禁止ajax缓存获取程序最新数据的方法
2013/11/19 Javascript
JavaScript的21条基本知识点
2014/03/04 Javascript
js控制当再次点击按钮时的间隔时间
2014/06/03 Javascript
jquery中获取元素里某一特定子元素的代码
2014/12/02 Javascript
jquery siblings获取同辈元素用法实例分析
2016/07/25 Javascript
Vue-cli 使用json server在本地模拟请求数据的示例代码
2017/11/02 Javascript
javascript运行机制之执行顺序理解
2020/08/03 Javascript
JS继承实现方法及优缺点详解
2020/09/02 Javascript
详解JavaScript原型与原型链
2020/11/16 Javascript
Python自动重试HTTP连接装饰器
2015/04/28 Python
qpython3 读取安卓lastpass Cookies
2016/06/19 Python
python列表使用实现名字管理系统
2019/01/30 Python
python+numpy实现的基本矩阵操作示例
2019/07/19 Python
django 微信网页授权登陆的实现
2019/07/30 Python
python如何将多个PDF进行合并
2019/08/13 Python
scrapy数据存储在mysql数据库的两种方式(同步和异步)
2020/02/18 Python
python——全排列数的生成方式
2020/02/26 Python
django model object序列化实例
2020/03/13 Python
python使用信号量动态更新配置文件的操作
2020/04/01 Python
高中的自我鉴定
2013/12/16 职场文书
党的群众路线教育实践活动个人承诺书
2014/05/22 职场文书
励志演讲稿800字
2014/08/21 职场文书
幼儿园个人师德总结
2015/02/06 职场文书
美术教师个人工作总结
2015/02/06 职场文书
教师年度个人总结
2015/02/11 职场文书
入党自荐书范文
2015/03/05 职场文书
2015年纪检监察工作总结
2015/04/08 职场文书
运动会100米广播稿
2015/08/19 职场文书
2016高考寄语或鼓励的话语
2015/12/04 职场文书
2016领导干部廉洁自律心得体会
2016/01/13 职场文书
Android实现获取短信验证码并自动填充
2023/05/21 Java/Android