2012-11-15 100 views
0

我有这个命令来检查有效的电子邮件地址。我刚刚发现,当我尝试将其添加到我们的电子邮件服务器(所有电子邮件请求都是本地电子邮件地址)时,电子邮件服务器不允许数字字符启动电子邮件地址/用户名。我已经阅读了preg_match命令的所有文档,并且无法找到如何在第一个字符位置的数字开头时使其失败。我是新手,所以任何帮助将不胜感激。!preg_match电子邮件检查

if (!preg_match("(^[-\w\.][email protected]([-a-z0-9]+\.)+[a-z]{2,4}$)i", $in_email)) 

回答

0

试试这个;

/^[^0-9][_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/ 

而且使用方法如下

$regex = '/^[^0-9][_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/'; 

if (preg_match($regex, $email)) { 
    // Valid email 
} else { 
    // Invalid email 
} 
+0

我说这一点,但它使没有数字被允许的。我希望数字可以在他们想要的时候使用 - 只是不在第一个字符位置。 –

+0

好的,更新了答案,请检查答案并接受它是否解决了您的问题。 –

+0

完美 - 非常感谢!我一直试图弄清楚这几天。 –