function ip_translate_from_str(ip_str)
{
var ip_int = 0;
if(is_ip(ip_str))
{
var ip_split = ip_str.split('.');
ip_int |= parseInt(ip_split[0]);
ip_int |= parseInt(ip_split[1]) << 8;
ip_int |= parseInt(ip_split[2]) << 16;
ip_int |= parseInt(ip_split[3]) << 24;
}
return ip_int;
}
该方法转换如192.168.1.128及以上同网段IP时会返回一个负数,请问是为啥~~
{
var ip_int = 0;
if(is_ip(ip_str))
{
var ip_split = ip_str.split('.');
ip_int |= parseInt(ip_split[0]);
ip_int |= parseInt(ip_split[1]) << 8;
ip_int |= parseInt(ip_split[2]) << 16;
ip_int |= parseInt(ip_split[3]) << 24;
}
return ip_int;
}
该方法转换如192.168.1.128及以上同网段IP时会返回一个负数,请问是为啥~~
解决方案 »
- 网页隐藏部分代码问题
- 求一段验证特殊字符的Jquery代码
- javaScript错误: ‘firstChild’为空或不是对象
- js脚本怎么防止被屏蔽
- 一个小公司的面试题目,俺也没有能做上来,真是惭愧......................
- 或许是机制问题!setTimeout与document.write的困惑
- 求救!JS下拉菜单问题,晕了一个上午了
- 如何表述同时按下shift+tab键?
- extjs4如何给grid添加空行
- JavaWeb 怎么检测客户端浏览器关闭并销毁session
- mootools中的自动调节iframe问题
- 求助JAVA高手:myeclipse7.1不编译FSO,怎么办~~~~~~
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>new document</title>
<script type="text/javascript">
function ip2num(ip){
var arr = ip.split("."), x = 1, ret = 0;
for(var i = 0; i < arr.length; i++){
ret += arr[i] * x;
x *= 256;
}
return ret;
}
function num2ip(n){
var ret = [], x = 256 * 256 * 256;
for(var i = 0; i < 4; i++){
ret.push(parseInt(n / x));
n %= x;
x /= 256;
}
return ret.reverse().join(".");
}
var n = ip2num("192.168.1.228");
alert(n);
alert(num2ip(n));
</script>
</head>
<body></body>
</html>
ip_int |= parseInt(ip_split[0]);
ip_int |= parseInt(ip_split[1]) << 4;
ip_int |= parseInt(ip_split[2]) << 8;
ip_int |= parseInt(ip_split[3]) << 12;