【问题标题】:Validate form input for domains and IPs - ajax验证域和 IP 的表单输入 - ajax
【发布时间】:2011-06-25 19:54:19
【问题描述】:

如何验证通过 ajax 提交的表单字段(如下)。它需要针对域(.com、.net、.se 等)和 IP 地址进行验证。基本上它必须在最后一个点之后寻找至少一个点和至少两个字母。

现在我只有一个空字段验证:

var domain = $("input#domain").val();  
        if (domain == "") {  
       $("label#domain_error").show();  
       $("input#domain").focus();  
       return false;  
     } 

谢谢!

【问题讨论】:

    标签: ajax regex validation forms


    【解决方案1】:

    您可能想使用正则表达式:

    对于 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])$
    

    对于主机名:

    ^(([a-zA-Z]|[a-zA-Z][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z]|[A-Za-z][A-Za-z0-9\-]*[A-Za-z0-9])$
    

    有关如何在 JavaScript 中使用正则表达式的示例,请查看 this site

    【讨论】:

    • 所以我假设我会写两个 if 循环: 1) if (domain == ^(([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])$) - 错误 IP 和 2) else if (domain == ^(([a-zA- Z]|[a-zA-Z][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z]|[A-Za- z][A-Za-z0-9\-]*[A-Za-z0-9])$) - 错误域??
    • 看看如何在 JavaScript 中使用正则表达式:regular-expressions.info/javascriptexample.html
    • 我试过这个。这是一个糟糕的逻辑,但应该可以工作,不幸的是它没有:codevar rege = /^(([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])$/; var domain = $("input#domain").val(); if (rege.test(domain)){ // 什么都不做 } else //if (domain == "") { $("label#domain_error").show(); $("input#domain").focus();返回假; code
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-22
    • 2016-07-15
    • 1970-01-01
    • 2011-12-25
    • 1970-01-01
    • 1970-01-01
    • 2013-02-09
    相关资源
    最近更新 更多