asp下IP地址分段计算函数

时间:2021-05-28

IP地址分段计算
<scriptlanguage="JScript"Runat="Server">
functionIPDeCode(EIP){
varIp1,Ip2,Ip3,Ip4;
Ip1=moveByteR(EIP&0xff000000,3);
Ip2=moveByteR(EIP&0x00ff0000,2);
Ip3=moveByteR(EIP&0x0000ff00,1);
Ip4=EIP&0x000000ff;
returnIp1+"."+Ip2+"."+Ip3+"."+Ip4;
}


functionmoveByteL(num,bytenum){
returnnum<<=(bytenum*8)
}

functionmoveByteR(num,bytenum){
returnnum>>>=(bytenum*8)
}

</script>


在vbs中没有位操作,这样在一个页面中用到了js和vbs,并不好,如果用vbs也可以,不过罗嗦了一些,而且有一点注意,如果在vbs中split("202.102.29.6","."),会得到202,102,29三个数,得不到最后一个6,所以需要将ip换成split("202.102.29.6"&".",".")
我用vbs做的,由于没有位操作,所以做得比较麻烦
<%
functionip2int(ipstr)
dimiptemp,max
iptemp=split(ipstr&".",".")
max=ubound(iptemp)
ifmax<>4then
exitfunction
endif

dima,b,i
a="&H"
fori=0to3
b=Hex(iptemp(i))
iflen(b)=1then
b="0"&b
endif
a=a&b
next
ip2int=CLng(a)
endfunction

functionint2ip(ip)
dimiptemp,a,ipstr,i,length
iptemp=Hex(ip)
length=8-len(iptemp)
fori=1tolength
iptemp="0"&iptemp
next
a=left(iptemp,2)
a="&H"&a
i=CInt(a)
a=CStr(i)
ipstr=a&"."
a=mid(iptemp,3,2)
a="&H"&a
i=CInt(a)
a=CStr(i)
ipstr=ipstr&a&"."
a=mid(iptemp,5,2)
a="&H"&a
i=CInt(a)
a=CStr(i)
ipstr=ipstr&a&"."
a=right(iptemp,2)
a="&H"&a
i=CInt(a)
a=CStr(i)
ipstr=ipstr&a
int2ip=ipstr
endfunction

dimtestIP,testInt
testIP="202.102.29.6"
testInt=ip2int(testIP)
response.writetestIP&"willbeencodedto<fontcolor=red>"&testInt&"</font><br>"
response.writetestIP&"willbedencodedto<fontcolor=red>"&int2ip(testInt)&"</font><br>"
%>


声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章