JS中IP地址與整數(shù)相互轉換的實現(xiàn)代碼
更新時間:2017年04月10日 22:59:42 投稿:mdxy-dxy
這篇文章主要介紹了JS中IP地址與整數(shù)相互轉換的實現(xiàn)代碼,需要的朋友可以參考下
主要用于在js判斷用戶輸入的一個ip段是否合法,如:192.168.1.11-192.168.1.134
實現(xiàn)代碼一:
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;//這個很關鍵,不然可能會出現(xiàn)負數(shù)的情況
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;
}
實現(xiàn)代碼二:
//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 setTimeout()基本用法有哪些
這篇文章主要介紹了JavaScript setTimeout()基本用法有哪些,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-11-11

