今天有这个特殊需求(配置voip路由器),就随便写了写这个,因为是在web前端上,就用JavaScript完成的,各位看官多多指教,很久没有来园子发文了,希望今天冒的泡不要被扔臭鸡蛋!
代码如下:
HTML代码
1<html>
2<head>
3<title>测试IP</title>
4<script>
5function$(i){returndocument.getElementById(i);}
6functionTrim(str){returnstr.replace(/(^\s*)|(\s*$)/g,"");}
7varnIPTemp;
8functionIP2Decimal(ipv4)
9{
10varaIPsec=ipv4.split(".");
11for(vari=0;i<4;i++)
12{
13if(parseInt(aIPsec[i])<16)
14{
15aIPsec[i]="0"+parseInt(aIPsec[i]).toString(16);
16}
17else
18{
19aIPsec[i]=parseInt(aIPsec[i]).toString(16);
20}
21}
22varnIPaddr=parseInt("0x"+aIPsec[0]+aIPsec[1]+aIPsec[2]+aIPsec[3]);
23returnnIPaddr;
24}
25
26functionDecimal2IP(nDecimal)
27{
28varsBin=nDecimal.toString(2);
29varsTT="";
30if(sBin.length<32)
31{
32for(vari=0;i<32-sBin.length;i++)
33{
34sTT+="0";
35}
36sBin=sTT+sBin;
37}
38varnIP=newArray();
39for(vari=0;i<4;i++)
40{
41varsSub=sBin.substring(8*i,8*(i+1));
42varres=0;
43for(varj=0;j<sSub.length;j++)
44{
45if(1==sSub.charAt(j))
46{
47res+=Math.pow(2,8-j-1);
48}
49}
50nIP[i]=res;
51}
52returnnIP[0]+"."+nIP[1]+"."+nIP[2]+"."+nIP[3];
53}
54</script>
55</head>
56<body>
57<inputtype="text"id="tb_ip"/><inputtype="button"onclick="alert(IP2Decimal(Trim($('tb_ip').value)));nIPTemp=IP2Decimal(Trim($('tb_ip').value));"value="IP转换为十进制"/>
58<inputtype="text"id="tb_ip1"/><inputtype="button"onclick="alert(Decimal2IP(nIPTemp));$('tb_ip1').value=Decimal2IP(nIPTemp);"value="十进制转换为IP"/>
59</body>
60</html>
如果觉得《点分十进制IP转换为十进制数以及逆变换 JavaScript》对你有帮助,请点赞、收藏,并留下你的观点哦!