我发现jQuery验证插件regex不足以满足我的要求。它接受任何电子邮件地址xxx@hotmail.x作为有效的电子邮件地址,而我希望能够提供此正则表达式/^([a-zA-Z0-9_.-+])+@@(([[a-zA -Z0-9-])+。)+([a-zA-Z0-9] {2,4})+ $ /,以便验证地址的完整.com部分。我更关心是否能够提供自己的正则表达式而不是简单的正则表达式(因为没有用于电子邮件验证的简单正则表达式)

仅供参考:我也在进行服务器端验证,但目前我不担心哪个电子邮件地址正则表达式正确。

在jQuery validate plugin的“ rules”部分中,有没有办法做到这一点?

这是我现在的规则部分:

rules: {
                        email: {
                            required:  {
                                    depends:function(){
                                        $(this).val($.trim($(this).val()));
                                        return true;
                                    }
                                },
                            email: true
                        },

最佳答案

我不会这样做,但是为了得到答案,您需要添加自己的自定义验证。

//custom validation rule
$.validator.addMethod("customemail",
    function(value, element) {
        return /^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/.test(value);
    },
    "Sorry, I've enabled very strict email validation"
);


然后在您的规则中添加:

rules: {
                    email: {
                        required:  {
                                depends:function(){
                                    $(this).val($.trim($(this).val()));
                                    return true;
                                }
                            },
                        customemail: true
                    },

10-05 21:06
查看更多