JS中IP地址与整数相互转换的实现代码
主要用于在js判断用户输入的一个ip段是否合法,如:192.168.1.11-192.168.1.134
实现代码一:
functionipToNumber(ip){ varnum=0; if(ip==""){ returnnum; } varaNum=ip.split("."); if(aNum.length!=4){ returnnum; } num+=parseInt(aNum[0])<<24; num+=parseInt(aNum[1])<<16; num+=parseInt(aNum[2])<<8; num+=parseInt(aNum[3])<<0; num=num>>>0;//这个很关键,不然可能会出现负数的情况 returnnum; } functionnumberToIp(number){ varip=""; if(number<=0){ returnip; } varip3=(number<<0)>>>24; varip2=(number<<8)>>>24; varip1=(number<<16)>>>24; varip0=(number<<24)>>>24 ip+=ip3+"."+ip2+"."+ip1+"."+ip0; returnip; }
实现代码二:
//IP转成整型 function_ip2int(ip) { varnum=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; returnnum; } //整型解析为IP地址 function_int2iP(num) { varstr; vartt=newArray(); 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]); returnstr; }
以上就是完整代码,需要的朋友可以参考一下。