IP地址正则表达式,带*验证

版权声明:LT https://blog.csdn.net/LitongZero/article/details/82381342

IP地址正则表达式,在网上找了很多,但是没有看到带 ‘ * ’ 的正则表达式,通常我们在设置IP时,会设置IP段(0-255)或者用 ‘ * ’ 代替。 


1、下为不带 ‘ * ’ 的正则表达式

var checkName = /^(?:(?:1[0-9][0-9]\.)|(?:2[0-4][0-9]\.)|(?:25[0-5]\.)|(?:[1-9][0-9]\.)|(?:[0-9]\.)){3}(?:(?:1[0-9][0-9])|(?:2[0-4][0-9])|(?:25[0-5])|(?:[1-9][0-9])|(?:[0-9]))$/;

可以验证正常的IP地址,如:192.168.0.1


2、下为带 ‘ * ’ 的正则表达式

var checkName = /^(?:(?:1[0-9][0-9]\.)|(?:2[0-4][0-9]\.)|(?:25[0-5]\.)|(?:[1-9][0-9]\.)|(?:[0-9/*]\.)){3}(?:(?:1[0-9][0-9])|(?:2[0-4][0-9])|(?:25[0-5])|(?:[1-9][0-9])|(?:[0-9/*]))$/;

可以验证正常的IP地址,

如:192.168.0.1

       192.168.0.* 

       192.168.*.* 

        *.*.*.*


3、多组IP地址验证,中间用 , 隔开

在JQuery Validator 中可直接使用

//检测IP地址
$.validator.addMethod("checkIp",
function (value, element, params) {
    var checkName = /^(?:(?:1[0-9][0-9]\.)|(?:2[0-4][0-9]\.)|(?:25[0-5]\.)|(?:[1-9][0-9]\.)|(?:[0-9/*]\.)){3}(?:(?:1[0-9][0-9])|(?:2[0-4][0-9])|(?:25[0-5])|(?:[1-9][0-9])|(?:[0-9/*]))$/;
    if (value.toString().trim() != value.toString()) {
            return false;
    }
    var ips = value.split(",");
    return ips.every(value1 => {
        return (checkName.test(value1))
    });
}, "IP地址格式错误");

正常使用可以根据如下,自行修改

//目标字符
var checkString = "162.9.6.*,192.186.16.2";
var checkName = /^(?:(?:1[0-9][0-9]\.)|(?:2[0-4][0-9]\.)|(?:25[0-5]\.)|(?:[1-9][0-9]\.)|(?:[0-9/*]\.)){3}(?:(?:1[0-9][0-9])|(?:2[0-4][0-9])|(?:25[0-5])|(?:[1-9][0-9])|(?:[0-9/*]))$/;
var ips = checkString.split(",");
var result = ips.every(value => {
    return (checkName.test(value))
});
//结果
console.log(result);

4、另提供一个验证IP组数的方法(不超过10组IP)

$.validator.addMethod("checkIpLength",
function (value, element, params) {
    var ips = value.split(",");
    return ips.length > 10 ? false : true;
}, "不能超过10个IP段");

猜你喜欢

转载自blog.csdn.net/LitongZero/article/details/82381342