2016-03-03 49 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

相关问题