2011-09-26 101 views
0

我不想给我们一个简单的电子邮件验证插件,所以我试图创建自己的,但它不工作。它总是返回假。这里是我的代码:jQuery/Javascript的自定义电子邮件验证不起作用

var regex = /\A[\w+\-.][email protected][a-z\d\-.]+\.[a-z]+\z/i; 

if(regex.test($("#email").val())) 
{ 
    //pass 
} 

我在做什么错?谢谢!

+1

什么是世界上的\ A和\ z?据我所知,不是JavaScript reg exp的一部分。 – epascarello

+0

@epascarello:它意味着在多行正则表达式('m'标志)中锚定字符串的开始和结束,但AFAIK JavaScript从未支持它们。 – alex

回答

3

我会假设,\A应该是^\z应该是$

0

这里是我使用至REGx我project.It正常工作

    var emailReg = /^([\w-\.][email protected]([\w-]+\.)+[\w-]{2,4})?$/; 
        if (emailReg.test($('#Email').val())) {  
         //pass 
        } 
0

可能,这将解决这个问题

var regex = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/; 
if(rege.test($('#email').val())) 
{ 
    //do something 
} 
0

试试这个正则表达式:

var regex= /^[a-zA-Z0-9._-][email protected][a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/; 
0

试试这个代码..

<script language="javascript" type="text/javascript"> 
function EmailValidation(email) { 

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

和HTML。

<div> 
    <asp:TextBox ID="TextBox1" runat="server" onchange="EmailValidation(this)"></asp:TextBox> 
</div>