當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
点分十进制IP转换为十进制数以及逆变换,JavaScript
生活随笔
收集整理的這篇文章主要介紹了
点分十进制IP转换为十进制数以及逆变换,JavaScript
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?
今天有這個特殊需求(配置voip路由器),就隨便寫了寫這個,因為是在web前端上,就用JavaScript完成的,各位看官多多指教,很久沒有來園子發文了,希望今天冒的泡不要被扔臭雞蛋!
代碼如下:
?
HTML代碼?1<html>
?2<head>
?3<title>測試IP</title>
?4<script>
?5function?$(i){return?document.getElementById(i);}
?6function?Trim(str){return?str.replace(/(^\s*)|(\s*$)/g,?"");}
?7var?nIPTemp;
?8function?IP2Decimal(ipv4)
?9{
10????var?aIPsec=ipv4.split(".");?
11????for(var?i=0;i<4;i++)
12????{
13????????if(parseInt(aIPsec[i])<16)
14????????{
15????????????aIPsec[i]="0"+parseInt(aIPsec[i]).toString(16);
16????????}
17????????else
18????????{
19????????????aIPsec[i]=parseInt(aIPsec[i]).toString(16);
20????????}
21????}
22????var?nIPaddr=parseInt("0x"+aIPsec[0]+aIPsec[1]+aIPsec[2]+aIPsec[3]);
23????return?nIPaddr;
24}??
25
26function?Decimal2IP(nDecimal)
27{
28????var?sBin=nDecimal.toString(2);
29????var?sTT="";
30????if(sBin.length<32)
31????{
32????????for(var?i=0;i<32-sBin.length;i++)
33????????{
34????????????sTT+="0";
35????????}
36????????sBin=sTT+sBin;
37????}
38????var?nIP=new?Array();
39????for(var?i=0;i<4;i++)
40????{
41????????var?sSub=sBin.substring(8*i,8*(i+1));
42????????var?res=0;
43????????for(var?j=0;j<sSub.length;j++)
44????????{
45????????????if(1==sSub.charAt(j))
46????????????{
47????????????????res+=Math.pow(2,8-j-1);
48????????????}
49????????}
50????????nIP[i]=res;
51????}
52????return?nIP[0]+"."+nIP[1]+"."+nIP[2]+"."+nIP[3];
53}
54</script>
55</head>
56<body>
57<input?type="text"?id="tb_ip"?/><input?type="button"?onclick="alert(IP2Decimal(Trim($('tb_ip').value)));nIPTemp=IP2Decimal(Trim($('tb_ip').value));"??value="IP轉換為十進制"?/>?
58<input?type="text"?id="tb_ip1"?/><input?type="button"?onclick="alert(Decimal2IP(nIPTemp));$('tb_ip1').value=Decimal2IP(nIPTemp);"??value="十進制轉換為IP"?/>?
59</body>
60</html>
?
轉載于:https://www.cnblogs.com/lkmmmj/archive/2009/06/16/1504267.html
總結
以上是生活随笔為你收集整理的点分十进制IP转换为十进制数以及逆变换,JavaScript的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 看似简单的问题 静态方法和实例化方法的区
- 下一篇: 从源代码安装软件