//检查所输入的IP地址的合法性
function check_ipaddr(input_id)
{
/*如果调用该函数传参数时,参数加上了引号,则直接用getElementById(input_id)即可
如果传参数时,直接传的id值,则需要用以下方式获取该id对应的值*/
var ipaddr = document.getElementById(input_id.id).value;
if(ipaddr == "")
{
return true;
}
alert(ipaddr);
var reg = /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/;
if(reg.exec(ipaddr))
{
if(RegExp.$1 < 256 && RegExp.$2 < 256 && RegExp.$3 < 256 && RegExp.$4 < 256)
{
return true;
}
else
{
alert("IP地址格式不对");
return false;
}
}
else
{
alert("IP地址格式不对");
}
}
//比较两个IP地址的大小
function compare_ipaddr(ipaddr1, ipaddr2)
{
var tmp1 = ipaddr1.split('.');
var tmp2 = ipaddr2.split('.');
for(var i = 0; i < 4; i++)
{
if(parseInt(tmp1[i]) > parseInt(tmp2[i]))
{
return 1;
}
else if(parseInt(tmp1[i]) < parseInt(tmp2[i]))
{
return -1;
}
}
return 0;
}
//根据IP地址及掩码长度计算所在网段
function get_network_segment(ipaddr, masklen)
{
var masklist = [
'0.0.0.0', '128.0.0.0', '192.0.0.0', '224.0.0.0','240.0.0.0', '248.0.0.0', '252.0.0.0', '254.0.0.0',
'255.0.0.0', '255.128.0.0', '255.192.0.0', '255.224.0.0', '255.240.0.0', '255.248.0.0', '255.252.0.0', '255.254.0.0',
'255.255.0.0', '255.255.128.0', '255.255.192.0', '255.255.224.0', '255.255.240.0', '255.255.248.0', '255.255.252.0', '255.255.254.0',
'255.255.255.0', '255.255.255.128', '255.255.255.192', '255.255.255.224', '255.255.255.240', '255.255.255.248', '255.255.255.252', '255.255.255.254',
'255.255.255.255'
];
var ret = [];
var tmp1 = ipaddr.split('.');
var mask = masklist[masklen];
var tmp2 = mask.split('.');
var network_segment;
for(var i = 0; i < tmp1.length; i++)
{
ret.push(tmp1[i] & tmp2[i]);
}
for(var i = 0; i < ret.length; i++)
{
network_segment += ret[i];
}
return network_segment;
}
Javascript 对IP 地址的操作
最新推荐文章于 2024-08-19 10:48:01 发布