JS中IP地址與整數(shù)相互轉(zhuǎn)換的實(shí)現(xiàn)代碼
更新時間:2017年04月10日 22:59:42 投稿:mdxy-dxy
這篇文章主要介紹了JS中IP地址與整數(shù)相互轉(zhuǎn)換的實(shí)現(xiàn)代碼,需要的朋友可以參考下
主要用于在js判斷用戶輸入的一個ip段是否合法,如:192.168.1.11-192.168.1.134
實(shí)現(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;//這個很關(guān)鍵,不然可能會出現(xiàn)負(fù)數(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;
}
實(shí)現(xiàn)代碼二:
//IP轉(zhuǎn)成整型
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;
}
以上就是完整代碼,需要的朋友可以參考一下。
相關(guān)文章
javascript中Array數(shù)組的迭代方法實(shí)例分析
這篇文章主要介紹了javascript中Array數(shù)組的迭代方法,實(shí)例分析了Array數(shù)組的迭代方法定義與使用技巧,需要的朋友可以參考下2015-02-02
動態(tài)加載外部javascript文件的函數(shù)代碼分享
動態(tài)加載外部javascript文件的函數(shù)代碼分享,做個記錄備忘,方便查找。2011-07-07
JavaScript設(shè)置body高度為瀏覽器高度的方法
這篇文章主要介紹了JavaScript設(shè)置body高度為瀏覽器高度的方法,實(shí)例分析了body高度的設(shè)置技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-02-02
JavaScript純前端實(shí)現(xiàn)在線GIF壓縮
這篇文章主要為大家詳細(xì)介紹了如何利用JavaScript純前端實(shí)現(xiàn)在線GIF壓縮工具,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-03-03

