我正在尝试检测用户的电子邮件是否是Hotmail或Live地址,如果是,则回显错误。
以下是我尝试过的:
if ((preg_match('[a-zA-Z0-9_\.+]+@(live|hotmail)(\.[a-z]{2,3}){1,2}'))){
echo "We do not accept hotmail and live";
}
它不起作用。我做错了什么?
最佳答案
因为您的唯一目的是检查电子邮件是否用于Live或Hotmail,所以不必过于复杂化正则表达式,只需执行以下操作:
--更新——
正如上面的注释所指出的,您已经错过了preg_match()
的第二个参数。
if (preg_match('/(.*)@(live|hotmail)\.(.*)/', $emailVariable) != false) {
echo "Get a real email provider";
}
因为您只想检查
@live
或@hotmail
,所以可以忽略tld和电子邮件的第一部分。演示文稿:http://rubular.com/r/TUlTUxmcQB*注意:我正在使用
!=
因为PrggMatHeMe()可以返回0
,在这种情况下,0个匹配,false将等于相同的结果。