php判断邮箱格式
简单说下吧,太复杂了你也听不懂,/ 和 / 表示正则表达式的开始和结束,()表示需要匹配部分的规则,[\w\-]表示这部分允许是字母、数字和下划线(_),再仔细看上面这句话,就是说,邮箱要由三个部分组成,第一部分到@符号,第二部分到点(.),第三部分到结束,每一部分都只能是字母、数字和下划线组成。
求php中邮箱地址正则表达式
$pattern = "/^([0-9A-Za-z\\-_\\.]+)@([0-9a-z]+\\.[a-z]{2,3}(\\.[a-z]{2})?)$/i";
if(preg_match($pattern,$email))
{
echo "邮箱正确";
}
关于PHP电子邮箱的格式。
if(!empty($_POST['email']) !preg_match('/^(?:[a-z\d]+[_\-\+\.]?)*[a-z\d]+@(?:([a-z\d]+\-?)*[a-z\d]+\.)+([a-z]{2,})+$/i', $_POST['email'])){
$this-splash('failed', $back_url, app::get('b2c')-_('邮箱格式错误'),'','',true);
}
关于php正则验证邮箱
[-+.]这里面的+好像是不行的吧[-.]
(qq)|(yahoo)|(souhu)|(sina)|(gmail)|(hotmail)|(21cn)要写成(qq|yahoo|souhu|sina|gmail|hotmail|21cn)
{1}这个是多余的
同样(com)|(cn)要写成(com|cn)
^\w+([-.]\w+)*@(126|139|163|qq|yahoo|souhu|sina|gmail|hotmail|21cn)\.(com|cn)$
另外此正则不能精确匹配,如你本来是要匹配163.com的邮箱,但163.cn也可以匹配了
再改造如下
^\w+([-.]\w+)*@(126\.com|139\.com|163\.com|qq\.com|yahoo\.com|sohu\.com|sina\.cn|gmail\.com|hotmail\.com|21cn\.cn)$
这些.com/.cn是我瞎写的,你可以自己整理一下
atch($pattern,$email)){ echo "邮箱正确";}关于PHP电子邮箱的格式。if(!empty($_POST['email']) !preg_match('/^(?:[a-z\d]+[_\-\+\.]?)*[a-z\d]+@(?:(