客户定制了一个IPV4格式的IP地址在线查询的工具,需要用户在前台输入IPV4格的IP地址,为了防止用户输入的IPV4格式的IP错误,又减少后端的服务器资源的浪费,就想到了先在前台用JS脚本判断一下,用户输入的IPV4地址是否合法。

js代码判断IP地址是否合法

例1:

下面利用js脚本来效验ip地址的合法性,是用的正则表达式的方式,大家可以参考一下。

js示例代码:

/*
* # 判断IP地址是否合法,仅支持IPV4
* 输入IP地址
* 如果合法返回 true , 如果不合法返回 false
* feiniaomy.com
**/
function is_ip(ip) {
    var reg = /^(\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])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/
    return reg.test(ip);
}

使用函数

console.log(is_ip('127.0.0.1'));
// true
console.log(is_ip('192.163.1.1'));
// true
console.log(is_ip('172.16.2666.2'));
// false

例2:

下面的方法要简单的很多,直接把ip地址转成数组,然后再去判断。

示例代码:

/*
* # 判断IP地址是否合法,仅支持IPV4
* 输入IP地址
* 如果合法返回 true , 如果不合法返回 false
* feiniaomy.com
**/
function is_ip(ip) {
    ip_arr = ip.split('.');
    if(ip_arr.length != 4){
        return false;
    }
    for (i = 0; i < ip_arr.length; i++) {
        if(ip_arr[i] < 0 || ip_arr[i] > 255){
            return false;
        }   
    }
    return true;
}

函数使用:

//feiniaomy.com
console.log(is_ip('127.0.0.1'));
// true
console.log(is_ip('192.163.1.1'));
// true
console.log(is_ip('172.16.2666.2'));
// false