我编写了以下函数来验证用户输入的电子邮件地址。
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)。
我试图让它既适用于资本也适用于较低的字母,但我无法做到..任何一个好的正则表达式。可以请建议。
提前谢谢你......
的问候, 莫纳..
答案 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;