2016-03-03 51 views
0

下面是我這是已經工作的JavaScript函數...正則表達式來檢查在javascript電子郵件驗證工作不

,但是當我試圖實現正則表達式來檢查電子郵件是正確的或不那麼我的功能不工作並不顯示任何消息...

因此,建議我如何實現這一點。

<script language="javascript"> 
function validateFields(){ 
    var error = '0'; 
    var emailpattern =/^[a-zA-Z][a-zA-Z0-9_]*(\.[a-zA-Z0-9_]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.([a-zA-Z]{2,4})$/; 

    if(document.getElementById('InvitationEmailAddress').value==""){ 
    document.getElementById('email_address_error').innerHTML = "Email address is required"; 
    error = '1'; 
    } 

    if(document.getElementById('InvitationEmailAddress').value!="") 
    { 
    if(!InvitationEmailAddress.value.match(emailpattern)){ 
    document.getElementById('email_address_error').innerHTML = "Email address is not valid"; 
    error = '1'; 
    }else{ 
    document.getElementById('email_address_error').innerHTML = ""; 
    } 
} 


    if(document.getElementById('InvitationMessage').value==""){ 
    document.getElementById('message_error').innerHTML = "Welcome message is required"; 
    error = '1'; 
    }else{ 
    document.getElementById('message_error').innerHTML = ""; 
    } 
    if(error == 1){ 
    return false; 
    }else{ 
    return true; 
    } 
} 
</script> 
+0

檢查電子郵件地址的唯一可靠方法,除了對域中的「@」或「。」進行基本檢查之外,是在那裏發送郵件並查看它是否會彈出。例如,您的正則表達式將在'.london'的新TLD上失敗。 – 2016-03-03 06:32:28

回答

-1

電子郵件的正則表達式= /^\w+([.-]?\w+)@ \ W +([.-] \ W +)? (\ w {2,3})+ $/

而且您解析DOM每次搜索:InvitationEmailAddress元素

可以將其保存在變量&可以使用這個變量。

var inMsgEmRef = document.getElementById('InvitationEmailAddress'); 
+0

no ..但是這不起作用,當我嘗試插入多個電子郵件ID以逗號分隔格式 –

+0

你必須把g - > /^\w+([.-]?\w+)@\w+([.- ]?\ w +)(。\ w {2,3})+ $/g - > g是文本中的全局搜索,不僅是第一次出現。 –

+0

對於超過三個字符的任何TLD都會失敗。 – 2016-03-03 06:47:44

0
if(!InvitationEmailAddress.value.match(emailpattern)){ 

應該是:

if(!document.getElementById("InvitationEmailAddress").value.match(emailpattern)){ 
+0

但是這不是驗證當我插入多個電子郵件像下面的例子.....所以應該改變正則表達式......爲前 - - [email protected],[email protected] –

+0

是的,他應該調用'document.getElementById',但實際上他編寫它的方式不應該失敗,因爲元素在其ID下的windows對象上可用。 – 2016-03-03 06:31:14

相關問題