jQuery 表单验证引擎添加方法



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

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 -->有效

正则表达式库 -->

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

data-validation-engine="validate[required,custom[email]]"

到输入字段。

<小时 />

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

你可以用这个替换示例中的代码,那么它应该可以工作:

<input value="" data-validation-engine="validate[required,funcCall[nameOrMail]]" class="text-input nameOrMail" type="text" name="req" id="req" />

JS(对您的<head>

):
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/

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

<script>
function check(email){
    if (email.split("@").length>0) {
        return true;
    }
   else return false;
}
check('jfvh@yahoo.com'); </script>

最新更新