通过这个方式可以实现自动匹配手机号、邮箱、或者普通用户名登录。
函数部分:
function pregPN($test){
/**
匹配手机号码
规则:
手机号码基本格式:
前面三位为:
移动:134-139 147 150-152 157-159 182 187 188
联通:130-132 155-156 185 186
电信:133 153 180 189
后面八位为:
0-9位的数字
*/
$rule = "/^((13[0-9])|147|(15[0-35-9])|17[0124678]|(18[0-35-9]))[0-9]{8}$/A";
preg_match($rule,$test,$result);
return $result;
}
function pregE($test){
/**
匹配邮箱
规则:
邮箱基本格式是 *****@**.**
@以前是一个 大小写的字母或者数字开头,紧跟0到多个大小写字母或者数字或 . _ - 的字符串
@之后到.之前是 1到多个大小写字母或者数字的字符串
.之后是 1到多个 大小写字母或者数字或者.的字符串
*/
$zhengze = '/^[a-zA-Z0-9][a-zA-Z0-9._-]*\@[a-zA-Z0-9]+\.[a-zA-Z0-9\.]+$/A';
preg_match($zhengze,$test,$result);
return $result;
}
使用方法:
$phone = pregPN($account);
$email = pregE($account);
if(count($phone) > 0){
//这里构造对应条件,匹配为手机号
}elseif (count($email) > 0){
//这里构造对应条件,匹配为邮箱
}else {
//这里构造对应条件,默认为普通账号名
}
我的微信:graent_hu
欢迎扫码加我的微信好友,有什么问题我们可以一起探讨,有什么需要也随时欢迎发消息给我~
转载请注明出处:
本文链接:https://www.wlyc.cn/post-7.html