1

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

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

4 回答 4

1

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

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

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

于 2013-10-05T10:55:56.403 回答
1

Noooooooooooo 你不要使用正则表达式来验证 EMAIL ..

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

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

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

  • 2>如果您收到回复,电子邮件有效..


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

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

停止使用复杂的正则表达式验证电子邮件地址

于 2013-10-05T11:01:14.993 回答
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}$/;
于 2013-10-05T10:56:16.500 回答
0

通过添加如下标志使正则表达式忽略大小写i

var l_reg = /^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,3}$/i;
于 2013-10-05T10:56:56.253 回答