如何在使用Jquery插件提交表单时validation’。(dot)’后的电子邮件

我正在尝试validation具有电子邮件地址的表单,其地址设置为“true”,如下所示:

$( "#myform" ).validate({ rules: { field: { required: true, email: true } } }); 

我检查了jquery插件http://jqueryvalidation.org/email-method/ ,我看到电子邮件地址只在’@’符号之前得到validation(例如在上面的链接中)。 我正在制作一个电子邮件validation脚本,基本上只检查完整的电子邮件地址,包括最后的“点”。 任何想法如何实现这一点?

http://jsfiddle.net/dbnkahee/1/

你可以用你的Regex添加jQuery.validator.addMethod试试这个: –

 jQuery.validator.addMethod("emailfull", function(value, element) { return this.optional(element) || /^([az\d!#$%&'*+\-\/=?^_`{|}~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+(\.[az\d!#$%&'*+\-\/=?^_`{|}~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+)*|"((([ \t]*\r\n)?[ \t]+)?([\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21\x23-\x5b\x5d-\x7e\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|\\[\x01-\x09\x0b\x0c\x0d-\x7f\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))*(([ \t]*\r\n)?[ \t]+)?")@(([az\d\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|[az\d\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF][az\d\-._~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]*[az\d\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])\.)+([az\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|[az\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF][az\d\-._~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]*[az\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])\.?$/i.test(value); }, "Please enter valid email address!"); 

然后用它作为: –

 $( "#myform" ).validate({ rules: { field: { required: true, emailfull: true } } }); 

RegEx by aSeptik看到了这个答案

演示

其他RegEx