Board logo

标题: [原创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}|\d{2}|2\d|25)\.(\d{1,2}|\d{2}|2\d|25)\.(\d{1,2}|\d{2}|2\d|25)\.(\d{1,2}|\d{2}|2\d|25)$/gi;
if(re.test(str)) {
n=RegExp.$1;
n=RegExp.$2;
n=RegExp.$3;
n=RegExp.$4;
for(i=1;i<=4;i++) answer=answer+parseInt(n)*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!")