失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 点分十进制IP转换为十进制数以及逆变换 JavaScript

点分十进制IP转换为十进制数以及逆变换 JavaScript

时间:2022-10-21 16:49:42

相关推荐

点分十进制IP转换为十进制数以及逆变换 JavaScript

今天有这个特殊需求(配置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》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。