2013-07-11 3 views
4

Мне нужно добавить проверку IP в моем проекте. Есть ли какая-либо функция в jquery или в jQuery mobile. Так что это будет проверять поле в поле?Как проверить правильность IP-адреса в jQuery

Благодаря

+3

Вы должны искать 'регулярного expressions' – coolguy

+0

ли некоторые фундаментальные исследования, прежде чем задавать вопрос. Проверьте это https://gist.github.com/bcoughlan/2649187 – Wishnu

+0

Мне нужно только проверить ip..Like мы делаем в ТЕЛЕФОНЕ НОМЕР .. tEXT – Rohit

ответ

4

этот документ на IP validation

здесь он использовал jqueryvalidator.js и объяснил, с примером.

$.validator.addMethod('IP4Checker', 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]?)$"; 
       return value.match(ip); 
      }, 'Invalid IP address'); 

      $('#form1').validate({ 
       rules: { 
        ip: { 
         required: true, 
         IP4Checker: true 
        } 
       } 
      }); 
+1

. Привет, ваша маска не работает. Попробуйте это:/^ (\ d | [1-9] \ d | 1 \ d \ д | 2 ([0-4] \ д | 5 [0-5])) \ (\ д |. [1-9] \ д | 1 \ д \ д | 2 ([0-4] \ д | 5 [0-5])) \ (\ д |. [1-9] \ д | 1 \ д \ д | 2 ([0-4] \ д |. 5 [0-5])) \ (\ д | [1-9] \ д | 1 \ д \ д | 2 ([0-4] \ д | 5 [0-5])) $ /; – Spl2nky

+1

тест, но не работает –

4

Вы можете использовать регулярные выражения для проверки, если IP является действительным:

"127.0.0.1".match(/^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$/); 
+2

действительно не проверяет ip: «999.0.0.1» .match (/^(?: [0-9] {1,3} \.) {3} [0-9] {1,3} $ /); – Reason

+0

может быть действительно ip – Rohit

+0

@Rohit Причина правильная, это не действительный IP-адрес. Но вы поняли, что вам понадобится более активное регулярное выражение, если вы хотите проверить действительные IP-адреса. – CodingIntrigue

0

Я использую JQuery Validation Плагин:

$.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 
     } 
    } 
}); 

Надежда полезным.

См: Regular expression to match DNS hostname or IP Address?

+0

Вы скопировали его из лучшего ответа – Sunny

+0

Я так не думаю, см. Регулярное выражение. «^ (([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]) $ " – Sean

1

Привет, это самое лучшее решение, и маска для 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 
       } 

      } 
     }); 
1

Этот должен работать для 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 
      } 
     } 
    }); 
0
/* 
    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;  
}); 

link

Смежные вопросы