会员
周边
众包
新闻
博问
闪存
赞助商
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
迈向牛人的步伐需要加快
技术服务于市场,关注Google,关注.NET,关注开源
Powered by
博客园
博客园
|
首页
|
新随笔
|
联系
|
订阅
|
管理
点分十进制IP转换为十进制数以及逆变换,JavaScript
今天有这个特殊需求(配置voip路由器),就随便写了写这个,因为是在web前端上,就用JavaScript完成的,各位看官多多指教,很久没有来园子发文了,希望今天冒的泡不要被扔臭鸡蛋!
代码如下:
HTML代码
1
<
html
>
2
<
head
>
3
<
title
>
测试IP
</
title
>
4
<
script
>
5
function
$(i)
{
return
document.getElementById(i);}
6
function
Trim(str)
{
return
str.replace(
/
(^\s*)|(\s*$)
/
g,
""
);}
7
var
nIPTemp;
8
function
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
26
function
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
>
发表于
2009-06-16 13:42
马劲
阅读(
1492
) 评论(
2
)
编辑
收藏
举报
刷新页面
返回顶部