nee*_*meg 16 regex jquery email-validation jquery-validate
我发现jQuery验证插件正则表达式不足以满足我的要求.它接受任何电子邮件地址xxx@hotmail.x作为有效的电子邮件地址,而我希望能够提供此正则表达式/^([a-zA-Z0-9_.-+])+\@(([a-zA -Z0-9 - ])+.)+([a-zA-Z0-9] {2,4})+ $ /以便它将验证完整的.com部分地址.我更关心能够提供我自己的正则表达式而不是获得一个傻瓜证明正则表达式(因为没有用于电子邮件验证的傻瓜证据正则表达式)
仅供参考:我也在进行服务器端验证,但此时我并不担心哪个电子邮件地址是正确的.
有没有办法在jQuery validate插件的"规则"部分内执行此操作?
这是我现在的规则部分:
rules: {
email: {
required: {
depends:function(){
$(this).val($.trim($(this).val()));
return true;
}
},
email: true
},
Run Code Online (Sandbox Code Playgroud)
Tom*_*Tom 23
我不会这样做,但为了答案,你需要添加自己的自定义验证.
//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"
);
Run Code Online (Sandbox Code Playgroud)
然后根据你的规则添加:
rules: {
email: {
required: {
depends:function(){
$(this).val($.trim($(this).val()));
return true;
}
},
customemail: true
},
Run Code Online (Sandbox Code Playgroud)
你的正则表达式太严格了,jQuery是对的.
"this is a valid adress !"@yes.it.is
Run Code Online (Sandbox Code Playgroud)
我建议你阅读:停止使用复杂的正则表达式验证电子邮件地址
归档时间: |
|
查看次数: |
17907 次 |
最近记录: |