标题: [原创js]IP和整数互换
[打印本页]
作者: s11ss
时间: 2007-12-14 22:44
标题: [原创js]IP和整数互换
////////IP和整数互换 {s11ss 2007-12-14}////////
var str,re,n=new Array(),i,answer=0,q,r;
if(WScript.Arguments.Count()<1) {
WScript.Echo("IP<->Integer\n"
+"e.g.:\n"
+"1.cscript/nologo \""+WScript.ScriptFullName+"\" 127.0.0.1\n"
+"2.cscript/nologo \""+WScript.ScriptFullName+"\" 2130706433\n");
WScript.Quit();
}
str=WScript.Arguments(0);
//IP转整数:
re=/^(\d{1,2}|[0-1]\d{2}|2[0-4]\d|25[0-5])\.(\d{1,2}|[0-1]\d{2}|2[0-4]\d|25[0-5])\.(\d{1,2}|[0-1]\d{2}|2[0-4]\d|25[0-5])\.(\d{1,2}|[0-1]\d{2}|2[0-4]\d|25[0-5])$/gi;
if(re.test(str)) {
n[1]=RegExp.$1;
n[2]=RegExp.$2;
n[3]=RegExp.$3;
n[4]=RegExp.$4;
for(i=1;i<=4;i++) answer=answer+parseInt(n[i])*Math.pow(256,(4-i));
WScript.Echo("IP "+str+" 对应的整数为: "+answer);
WScript.Quit();
}
//整数转IP:
re=/^\d+$/gi;
if(re.test(str)) {
q=parseInt(str);
answer="";
while(q!=0) {
r=q%256;
q=parseInt(q/256);
if(answer=="") answer=r.toString(); else answer=r.toString()+"."+answer;
}
WScript.Echo("整数 "+str+" 对应的IP为: "+answer);
WScript.Quit();
}
WScript.Echo("参数有误!只能为整数或IP!")