簡體   English   中英

電子郵件驗證器

[英]Email validator

我的電子郵件驗證碼有問題。 我不斷收到未定義我的函數的錯誤。 我已經為Java代碼制作了一個javascript文件,然后使用html中的onchange來觸發該功能。

    <input type="text" id="email" name="email" onchange="check();" />

    function check() {
email = document.getElementById("email").value;
filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
if (filter.test(email.value)) 
    {
    document.getElementById("email").style.border = "3px solid green";  
    return true;
    }
else
    {
    document.getElementById("email").style.border = "3px solid red";
    return false;
    }
}

將您的javascript放在<script>標記中。

也請重命名您的變量名email因為您的文本框已在使用它。

<input type="text" id="email" name="email" onchange="check();" />
<script type="text/javascript">
    function check() {
        var email_x = document.getElementById("email").value;
        filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
        if (filter.test(email.value)) {
            document.getElementById("email").style.border = "3px solid green";
            return true;
        } else {
            document.getElementById("email").style.border = "3px solid red";
            return false;
        }
    }
</script>

電子郵件驗證並不總是像正則表達式一樣簡單。 您是否看過:

驗證JavaScript中的電子郵件地址?

更好的選擇是使用Verimail.js 這是一個簡單的腳本,可以幫您解決。 使用Verimail.js,您可以執行以下操作:

var email = "cool@fabeook.cmo";
var verimail = new Comfirm.AlphaMail.Verimail();

verimail.verify(email, function(status, message, suggestion){
    if(status < 0){
        // Incorrect syntax!
    }else{
        // Syntax looks great!
    }
});

上面的示例將在“語法錯誤! 由於無效的TLD'cmo'。 除此之外,它還會建議您可以返回給用戶,在這種情況下,建議變量將包含“ cool@facebook.com”,因為“ fabeook.cmo”看起來很像“ facebook.com”。

希望這可以幫助!

這是html輸入字段和按鈕字段的代碼

   <input input type="text" name="txtEmailId" id="txtEmailId" /> 
   <input type="submit" class="button" value="Suscribe" name="Suscribe" 
            onclick="javascript:ShowAlert()" />

現在,將以下函數添加到頁面的標題中

 <script type="text/javascript">
 function ShowAlert() {
  var email = document.getElementById('txtEmailId');
  var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    if (!filter.test(email.value)) {
        alert('Please provide a valid email address');
        email.focus;
        return false;
    }
    else {
        alert("Thanks for your intrest in us, Now you 
        will be able to receive monthly updates from us.");
        document.getElementById('txtEmailId').value = "";
    }
 }
 </script> 

您可以在這里找到有關此JavaScript電子郵件驗證的文章

如果您特定於域,則可以使用此代碼進行電子郵件驗證,以防止匿名電子郵件域。

(^([a-zA-Z]{1,20}[-_.]{0,1}[a-zA-Z0-9]{1,20})(\@gmail\.com|\@yahoo\.com|\@hotmail\.com)$)

您也可以添加其他域。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM