IP地址正則表示式,帶*驗證
阿新 • • 發佈:2018-12-22
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段");