我发现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) 我的表单中有以下输入:
<input class="input-group-field" id="email" name="email" type="email" size="1" required="">
Run Code Online (Sandbox Code Playgroud)
我正在使用 jQuery 验证插件在 ajax 请求之前验证表单。它工作正常,但是为什么这个电子邮件输入有效:
abc@esd
因此,如果我不添加顶级域名,它似乎是有效的电子邮件?
而 abc@esd. 是无效的
任何想法出了什么问题或者我可以采取什么措施来防止这种情况?
代码:
if ($("#valForm").valid()) {
// Do Stuff
}
Run Code Online (Sandbox Code Playgroud)
我没有制定任何规则
谢谢