如何验证textarea中的电子邮件地址

时间:2014-03-14 07:30:21

标签: javascript jquery

我想验证textarea的电子邮件,我也希望同样的textarea允许一些电子邮件。我需要这个参考朋友选项。

HTML部分:

<textarea class="span12" id="demo"></textarea>

6 个答案:

答案 0 :(得分:2)

试试这个

function ValidateEmails() {  
  var emailList= $("#demo").val().split(',');
    for (i=0;i<emailList.length;i++)
    {
       var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
       return regex.test(emailList[i]);
    }
}

您需要在textarea中输入以逗号分隔的电子邮件ID

答案 1 :(得分:1)

你的问题实际上是两个问题:  1.如何验证来自输入字段的电子邮件?  2.如何验证输入字段中的多封电子邮件?

对于#1,我建议使用经过验证的真正的jQuery Validation库,而不是滚动自己的电子邮件验证器。文档:http://jqueryvalidation.org/email-method

包含jQuery Validation库后,你会这样称呼它:

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

当然,这只适用于一个电子邮件地址。

要回答#2,你必须用某个分隔符(例如空格,逗号等)分割textarea的值,然后分别验证每个字符串。

答案 2 :(得分:1)

function validateEmail(field) {
    var regex=/\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b/i;
    return (regex.test(field)) ? true : false;
}
function validateMultipleEmailsCommaSeparated(value) {
    var result = value.split(",");
    for(var i = 0;i < result.length;i++)
       if(!validateEmail(result[i])) 
           return false;
    return true;
}

这会帮助你...... 有一些例子...... bill.gates @ microsoft.com,steve.jobs @ apple.com

答案 3 :(得分:0)

电子邮件验证的代码太多了 - 只需环顾四周:

Email validation using jQuery

另外,用电子邮件制作textarea是个坏主意。您应该注意分隔符,空格等...更好地进行简单输入,将电子邮件添加到脚本数组,然后显示为可移动按钮。

答案 4 :(得分:0)

试试这个:

$.validator.addMethod('demo', function(value, element) {
    if (this.optional(element)) return true;

    var flag = true;
    var addresses = value.replace(/\s/g,'').split(',');
    for (i = 0; i < addresses.length; i++) {
        flag = /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\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]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test(addresses[i]);
    }
    return flag;
}, '');

答案 5 :(得分:0)

这是验证以逗号(,)分隔的电子邮件地址的一种方法。

有提交和重置按钮,用于接收邮件的文本区域,以及用于验证textarea中电子邮件的validateform功能。

<html>
<head>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script><html>
<style>
</style>
</head>
<body>
 <div class="input">

   <p class="label"><h2>*Email Address:</h2>           
    <textarea placeholder="Enter ur mails by separator (,) " cols="30" rows="10" id="email_val" name="mail"></textarea>
   </p>  
<p id="demo"></p>
   <p class="label"><input type="submit" onclick="ValidateForm()"></p>
    <p class="label"><input type="reset" onclick="history.go(0)"></p>

 </div>
 <script>

 function ValidateForm() {
                var emailList = $("#email_val").val().split(',');
                for (i = 0; i < emailList.length; i++)
                {
                    for (i = 0; i < emailList.length; i++) {
                       // var expr =/^(([a-zA-Z]{1})|([a-zA-Z]{1}[a-zA-Z]{1})|([a-zA-Z]{1}[0-9]{1})|([0-9]{1}[a-zA-Z]{1})|([a-zA-Z0-9][a-zA-Z0-9-_]{1,61}[a-zA-Z0-9]))\.([a-zA-Z]{2,6}|[a-zA-Z0-9-]{2,30}\.[a-zA-Z]{2,6})$/;
                        var expr = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
                        var result = expr.test(emailList[i]);
                        if (!result) {
                              document.getElementById("demo").style.color="red";
                            document.getElementById("demo").innerHTML = "sorry enter a valid email adrress";

                            return false;

                        }
                    }
                           document.getElementById("demo").style.color="blue";
                           if(emailList.length==1)
{                          
                        document.getElementById("demo").innerHTML = "Ur email address is successfully submitted";
                        return true;
 }    else{
   document.getElementById("demo").innerHTML = "Ur "+emailList.length+" email addresses are successfully submitted";

} 

                    }



                }

 </script>
</body>
</html>

*