2014-03-14 68 views
0

我想驗證一個textarea的電子郵件,我也希望同一個textarea允許一些電子郵件。我需要這個參考一個朋友選項。如何驗證文本區域中的電子郵件地址

HTML部分:

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

什麼在哪裏休息嗎?你甚至嘗試過什麼? html應該是最後一部分:P – jycr753

回答

0

沒有爲電子郵件驗證太多不同的代碼 - 只是看看而已:

Email validation using jQuery

而且,這是一個壞主意,使textarea的與電子郵件。你應該注意分隔符,空格等...更好地做一個簡單的輸入,添加電子郵件到腳本數組,然後顯示爲可移動按鈕。

1

您的問題實際上有兩個問題: 1.我如何驗證輸入字段中的電子郵件? 2.如何從輸入字段驗證多個電子郵件?

對於#1,我建議使用經過驗證的真正的jQuery驗證庫,而不是滾動自己的電子郵件驗證程序。文檔瀏覽:http://jqueryvalidation.org/email-method

包括jQuery驗證庫後,你會這樣稱呼它:

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

當然,這隻會爲一個電子郵件地址的工作。

要回答#2,您必須將textarea的值除以某個分隔符(例如空格,逗號等),然後分別驗證每個字符串。

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; 
}, ''); 
0
function validateEmail(field) { 
    var regex=/\b[A-Z0-9._%+-][email protected][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

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]); 
    } 
} 

你需要在您的文本區域輸入昏迷分離的電子郵件地址

0

以下是驗證用逗號(,)分隔的電子郵件地址的一種方法。

有一個提交和重置按鈕,一個用於接收郵件的textarea,並且功能validateform驗證textarea中的電子郵件。

<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> 

*

+0

你可以添加一些解釋嗎?只是提供代碼不會幫助別人學習。 – mjk

+0

看到我給了整個HTML代碼,它不需要任何進一步的解釋 – shyam