由于我们的项目中需要配置IP鉴权(只有在数据库中配置了IP地址的网络地址才能够访问我们的接口地址,不然就没有这个权限),由于需要访问的厂商比较多,IP地址可能是某某端的,比如:可能一个厂商那里有127.0.0.1,127.0.0.2,127.0.0.3,127.0.0.4,127.0.0.5,127.0.0.6像这样的地址我们只需要配置127.0.0.*就可以允许访问了,即只需要判断前三位就可以了。但是我在页面上做IP鉴权列表的时候,需要使用IP地址来作为查询条件来进行查询。
网上有许多进行IP地址进行判断的,但是我在做查询的时候,也需要输入127.0.0.*地址来进行判断,但是这样的IP地址明显不符合IP地址,后来我想到可不可以先在页面上只截取前三位然后只判断IP地址的前三位呢,于是开始实践。代码如下:
function checkIP()
{
var sIPAddress=document.getElementById("ipAddr").value;
var ipAddr = sIPAddress.substring(0, sIPAddress.lastIndexOf('.')); //截取IP地址中最后一个.前面的数字
var exp=/^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/;
var reg = ipAddr.match(exp);
var ErrMsg= "你输入的是一个非法的IP地址段!\nIP段为::xxx.xxx.xxx.xxx(xxx为0-255)\n或xxx.xxx.xxx.*(xxx为0-255)! ";
if(sIPAddress!=""){
if(reg==null)
{
alert(ErrMsg);
return false;
}
}
return true;
}