如何验证以分隔的两个电子邮件ID;使用jquery / javascript

时间:2019-05-10 08:38:15

标签: javascript jquery html5 validation

<div class="fluid field">
    <label>e-mail Ids:</label>
    <textarea rows="1" style="height:100px" id="mailids" value="<%- mailids %>"></textarea>
 </div>
  

下面是我尝试过的JS代码

'change #mailids': function (e) {
        var strVale = $(e.target).val();
        if (strVale.substring(strVale.length - 1) == ";") {
            strvalue = strVale.substring(0, strVale.length - 1);
        }
        var arr = strVale.split(';');
        var isValid = true;
        var self = this;

        arr.forEach(function (item) {
            var x = item;
            var atpos = x.indexOf("@");
            var dotpos = x.lastIndexOf(".");
            if (atpos < 1 || dotpos < atpos + 2 || dotpos + 2 >= x.length) {
                isValid = false;
            }
        });
      }

我需要验证以 ;(半冒号)分隔的两个电子邮件ID,如果该电子邮件无效,则应显示错误消息

下面的输入也接受为有效

image

2 个答案:

答案 0 :(得分:0)

根据分号分隔电子邮件。对于每个电子邮件ID,请使用正则表达式来验证电子邮件。

function validateEmail(email) {
    var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
    return re.test(String(email).toLowerCase());
}

用于基于正则表达式的验证。请参阅this答案。

答案 1 :(得分:0)

在验证它们之后,只需用逗号或分号分隔电子邮件ID

这将为您提供帮助

 var x = getEmails();
var emails = x.split(",");
emails.forEach(function (email) {
  validate(email.trim());
});