首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jquery表单验证引擎添加方法

jquery表单验证引擎添加方法
EN

Stack Overflow用户
提问于 2012-06-05 18:19:43
回答 2查看 937关注 0票数 0

如何创建一个方法来检查电子邮件是否有效,如果验证器发现一个'@‘符号?(输入文本仅为姓名或电子邮件地址)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-05 18:23:08

代码语言:javascript
复制
function checkMail(email){
    var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    if (filter.test(email)) {
        return true;
    }
    return false;
}

checkMail('me@domain.com'); // return true or false if invalid.

如果写入了有效的域,这将额外检查电子邮件地址。

me@something -->无效

@something.com -->无效

me@.com -->无效

me@something.com -->有效

Regular Expression Library -->

如果您想使用jQuery验证引擎验证邮件地址,只需添加:

代码语言:javascript
复制
data-validation-engine="validate[required,custom[email]]"

添加到输入字段。

从表单验证引擎1.6.4开始,可以添加您自己的用于验证的函数http://www.position-absolute.com/news/form-validation-engine-1-6-4/

您可以将示例中的代码替换为以下代码,然后它应该可以工作:

代码语言:javascript
复制
<input value="" data-validation-engine="validate[required,funcCall[nameOrMail]]" class="text-input nameOrMail" type="text" name="req" id="req" />

JS (到您的<head>):

代码语言:javascript
复制
jQuery(document).ready(function(){
    jQuery("#formID").validationEngine({
        "nameOrMail": {
            "nname":"nameOrMail"
        }
    });
});

function checkMail(email){
    var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    if (filter.test(email)) {
        return true;
    }
    return false;
}

function nameOrMail(){
    if($(".nameOrMail").val().indexOf('@') >= 0){
        if(!checkMail($(".nameOrMail").val())) {
            return "Please enter a valid mail address or name!";
        }
    } else {
        if($(".nameOrMail").val() === '') {
            return "Please enter a valid mail address or name!";
        }
    }
}

现场演示http://jsfiddle.net/4dUyX/

票数 3
EN

Stack Overflow用户

发布于 2012-06-05 18:26:32

使用拆分函数,你就不需要正则表达式了

代码语言:javascript
复制
<script>
function check(email){
    if (email.split("@").length>0) {
        return true;
    }
   else return false;
}

check('jfvh@yahoo.com'); </script>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10895531

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档