我试着环顾四周,以为我想通了,通过使用preg_match
,但预浸比赛给我的错误:如何更换eregi()
警告:的preg_match():没有结束符“^”
这里是我的原代码的PHP说折旧:
if(!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $_POST['email'])) {
$erroR= "Invalid Email address";
}
有人可以解释什么结束符“^”是,如何添加它。谢谢@
你的正则表达式不匹配,许多有效的电子邮件地址,即。 '我的+地址@ domain.museum',域名也可以保存像'àéü'这样的突出字符...... – Toto 2012-02-09 11:03:35
即时通讯并不是很好,但我已经注意到最后的{2,3}。我不知道该怎么做。你有什么建议吗? – 2012-02-10 16:05:44
至少用“{2,6}”替换。但使用正则表达式验证电子邮件是一件非常困难的事情。看看http://www.ex-parrot.com/pdw/Mail-RFC822-Address.html – Toto 2012-02-10 16:14:56