使用exec测试有效的邮件地址

时间:2013-10-05 10:54:03

标签: javascript regex

我编写了以下函数来验证用户输入的电子邮件地址。

function checkEmail(v_email)
{
var l_ret=true;
var l_reg = /^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,3}$/;
if (l_reg.exec(v_email)==null){l_ret=false;}
return l_ret;
} 

使用小写的电子邮件地址(example.myemail@example.com)可以很好地工作,但是如果它检测到任何大写字母,那么它就会失败。喜欢(example.MYemail@example.com)。

我试图让它既适用于资本也适用于较低的字母,但我无法做到..任何一个好的正则表达式。可以请建议。

提前谢谢你......

的问候, 莫纳..

4 个答案:

答案 0 :(得分:1)

只需使用不区分大小写的模式:

/^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,3}$/i;
                                            ^

它使[a-z]也匹配大写字母。否则,您可以使用[A-Za-z]表示正则表达式中的大写和小写字符。

答案 1 :(得分:1)

Noooooooooooo you DONT 使用正则表达式验证EMAIL ..

如果您可以向其发送邮件,则电子邮件有效。

要验证电子邮件,请按以下步骤操作..

  • 1>将邮件发送到您可以在其中放置激活码甚至链接的电子邮件地址。

  • 2>如果您收到此消息,则电子邮件有效..


最多你的正则表达式应该是

^[^@]+@[^@]+$

Stop Validating Email Addresses With Complicated Regular Expressions

答案 2 :(得分:0)

像这样改变你的正则表达式:

var l_reg = /^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,3}$/i;

而不是

 var l_reg = /^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,3}$/;

答案 3 :(得分:0)

通过添加如下所示的标记i使正则表达式忽略该情况:

var l_reg = /^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,3}$/i;