正则表达式判断电话及手机号码合法性

来源:百度文库 编辑:神马文学网 时间:2024/04/28 22:59:39
function  check($str){
if(ereg("^([0-9]{2}-?)?0[0-9]{2}-[0-9]{8}$",$str))return  1;//3位区号
if(ereg("^([0-9]{2}-?)?0[0-9]{10}$",$str))return  2;
if(ereg("^([0-9]{2}-?)?0[0-9]{3}-[0-9]{7}$",$str))return  3;//4位区号
if(ereg("^0?13[0-9]{9}$",$str))return  4;//手机
return  0;
}
echo(check("021-12345678"));
echo ‘
‘;
echo(check("02112345678"));
echo ‘
‘;
echo(check("86-021-12345678"));
echo ‘
‘;
echo(check("86021-12345678"));
echo ‘
‘;
echo(check("0536-1234567"));
echo ‘
‘;
echo(check("13812311213"));
echo ‘
‘;
echo(check("013812311213"));
echo ‘
‘;
$pattern="/^([0-9]{1,6}[-]?)?([0][1-9][0-9]{1,2}[-]?)?[0-9]{6,8}$/";//国际区位号码1-6位
$phone="02111111111";
//$phone="021-11111111";
if(preg_match($pattern,$phone))  echo  "电话号码合法!";
else  echo  "电话号码不合法";
echo ‘
‘;
$movePhone="15011111111";
if(preg_match("/^[0]?[1][0-9]{10}$/",$movePhone))  echo  "手机号码合法!"; //现在手机号码第二位可能是5,因此不对第二位进行限制
else  echo  "手机号吗不合法!";
echo ‘
‘;
?>