验证电子邮件字段并确保不为空

Posted

技术标签:

【中文标题】验证电子邮件字段并确保不为空【英文标题】:validate email field and make sure not blank 【发布时间】:2020-06-16 03:03:48 【问题描述】:

当我试图提交表单以检查电子邮件表单字段是否正确完成时,我正在表单字段上运行一个小 jQuery 脚本,因为我不能依赖 html5 验证。代码如下......问题是......如果您将该字段留空并点击提交按钮,它会在它应该为假时验证为正确......我错过了什么?

<script>

function validateEmail(email) 
var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]2,4)?$/;
return emailReg.test( email );


var clicked = jQuery(".button");

clicked.click(function() 
var email = jQuery("input[type='email']").val();
( !validateEmail(email) ) ? alert('Please complete the mandatory email field') : this.form.action='https://brandname.us2.list-manage.com/subscribe/post?u=123&amp;id=abc';this.form.submit();
);


</script>

【问题讨论】:

【参考方案1】:

正则表达式不检查电子邮件是否为空,因此将检查添加到 if 中,如下所示:

 (email && !validateEmail(email) ) ? alert('Please complete the mandatory email field'): 

【讨论】:

谢谢 - 仍然允许空白字段被识别为有效?

以上是关于验证电子邮件字段并确保不为空的主要内容,如果未能解决你的问题,请参考以下文章

验证电子邮件字段不为空 Javascript

如何在提交表单之前验证电子邮件字段不为空

仅当字段不为空时才进行电子邮件验证

提交表单时电子邮件值验证错误

如何确保MFMailComposeViewController在body不为空时不发送电子邮件?

如果确认字段不为空,MVC 比较电子邮件