如何在jquery中检查IP地址的验证

Posted

技术标签:

【中文标题】如何在jquery中检查IP地址的验证【英文标题】:How to check validation of IP Address in jquery 【发布时间】:2013-07-09 09:46:17 【问题描述】:

我需要在我的项目中添加 IP 验证。jquery 或 jquery mobile 中是否有任何功能。以便验证输入字段?

谢谢

【问题讨论】:

你应该找regular expressions 在提问之前做一些基础研究。看看这个gist.github.com/bcoughlan/2649187 我只需要验证 ip ..就像我们在电话号码中所做的那样 ..tEXT 我在 juery 手机上使用 phonegap ..仅将 Ip 地址验证为 .User 不正确的文本 .user 只能用点写数字 Here是你的答案。 【参考方案1】:

您可以使用正则表达式来测试 IP 是否有效:

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

【讨论】:

并没有真正验证 ip:"999.0.0.1".match(/^(?:[0-9]1,3\.)3[0-9] 1,3$/); @Rohit 原因是正确的,这不是一个有效的 IP。但是你明白了,如果你想测试有效的 IP,你可能需要一个更复杂的正则表达式【参考方案2】:

参考这个文件 IP validation

这里他使用了 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
                    
                
            );

【讨论】:

您好,您的面具不起作用,请尝试这个 /^(\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]))$/; 无法正常工作。面具不正确。检查:oreilly.com/library/view/regular-expressions-cookbook/… @JaiKumaresh 如果它对您不起作用并且您知道正确的答案,那么您可以在这里发表评论,您可以给出自己的答案,因为它当时是有效的答案并被 OP 接受。因此,请尝试给出答案,而不是编辑工作和现有答案。【参考方案3】:

我使用 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
        
    
);

希望有帮助。

参考:Regular expression to match DNS hostname or IP Address?

【讨论】:

你从最佳答案中复制了它 我不这么认为,请参阅正则表达式。 "^(([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])$"【参考方案4】:

您好,这是 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
              

          
        );

【讨论】:

【参考方案5】:

简短版:

^(?!0)(?!.*\.$)((1?\d?\d|25[0-5]|2[0-4]\d)(\.|$))4$

在这里解释 https://***.com/a/26445549/3356679

【讨论】:

谢谢,这里有完整的细节和解释。【参考方案6】:

这应该适用于 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
            
        
    );

【讨论】:

【参考方案7】:
/* 
    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

【讨论】:

【参考方案8】:

@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.');

【讨论】:

【参考方案9】:

如果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;

【讨论】:

以上是关于如何在jquery中检查IP地址的验证的主要内容,如果未能解决你的问题,请参考以下文章

mac的ip地址在哪里查

怎么查电脑ip地址cmd命令

ip地址怎么查 三种方法教你轻松查询

如何通过mac地址查询ip

怎么查电脑上的共享文件的IP地址

如何在网络上通过MAC地址查找IP ?