[英]How to check validation of IP Address in jquery
我需要在我的項目中添加 IP 驗證。在 jquery 或 jquery mobile.So 中是否有任何功能,以便它驗證輸入字段?
謝謝
請參閱本文檔IP 驗證
在這里他使用了 jqueryvalidator.js 並用一個例子進行了解釋。
$.validator.addMethod('IP4Checker', function(value) {
return value.match(/^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$/);
}, 'Invalid IP address');
$('#form1').validate({
rules: {
ip: {
required: true,
IP4Checker: true
}
}
});
簡短版本:
^(?!0)(?!.*\.$)((1?\d?\d|25[0-5]|2[0-4]\d)(\.|$)){4}$
您可以使用正則表達式來測試 IP 是否有效:
"127.0.0.1".match(/^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$/);
這應該適用於 IP 地址
$.validator.addMethod('IP4Checker', function(value) {
var ip="^([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\." +
"([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\." +
"([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\." +
"([01]?\\d\\d?|2[0-4]\\d|25[0-5])$";
return value.match(ip);
}, 'Invalid IP address');
$('#remoteForm').validate({
rules: {
ipAddr: {
required: true,
IP4Checker: true
}
}
});
嗨,這是 IP 地址的最佳解決方案和掩碼
$.validator.addMethod('IP4Checker', function(value) {
var ip = /^(\d|[1-9]\d|1\d\d|2([0-4]\d|5[0-5]))\.(\d|[1-9]\d|1\d\d|2([0-4]\d|5[0-5]))\.(\d|[1-9]\d|1\d\d|2([0-4]\d|5[0-5]))\.(\d|[1-9]\d|1\d\d|2([0-4]\d|5[0-5]))$/;
return value.match(ip);
}, 'Invalid IP address');
var $validator = $("#addCardForm").validate({
rules: {
txtIP: {
required: true,
IP4Checker: true
}
}
});
我通過以下方式使用 jQuery 驗證插件:
$.validator.addMethod('IP4Checker', function(value) {
var ip = "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$";
return value.match(ip);
}, 'Invalid IP address');
$('#form').validate({
rules:{
ip:{
required: true,
IP4Checker: true
}
}
});
希望有幫助。
/*
validIpAddressRegex = "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$";
validHostnameRegex = "^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$";
*/
$.validator.addMethod('ipChecking', function(value) {
//var ip = "^(?:(?:25[0-5]2[0-4][0-9][01]?[0-9][0-9]?)\.){3}" +"(?:25[0-5]2[0-4][0-9][01]?[0-9][0-9]?)$";
validIpAddressRegex = "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$";
ipCheckFlag = true;
ipLists = value.split(',');
for(ip=0; ip<ipLists.length; ip++){
if(!ipLists[ip].trim().match(validIpAddressRegex)){
ipCheckFlag = false;
}
}
return ipCheckFlag;
});
除了@RAVI MONE 對帶有子網掩碼的 IP 地址的回答:
$.validator.addMethod('IP4Checker', function(value) {
var ip="^$|([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\." +
"([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\." +
"([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\." +
"([01]?\\d\\d?|2[0-4]\\d|25[0-5])((/([01]?\\d\\d?|2[0-4]\\d|25[0-5]))?)$";
return value.match(ip);
}, 'Invalid IP address.');
如果 IP 地址格式正確,則此函數返回true
,否則返回false
:
function isIpAddressValid(ipAddress) {
if (ipAddress == null || ipAddress == "")
return false;
var ip = '^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}' +
'(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$';
if (ipAddress.match(ip) != null)
return true;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.