在前段页面中,可以用JS进行校验,代码如下
function checkTel(){
var isPhone = /^([0-9]{3,4}-)?[0-9]{7,8}$/;
var isMob=/^((\+?86)|(\(\+86\)))?(13[012356789][0-9]{8}|15[012356789][0-9]{8}|18[02356789][0-9]{8}|147[0-9]{8}|1349[0-9]{7})$/;
var value=document.getElementById("phone").value.trim();
if(isMob.test(value)||isPhone.test(value)){
return true;
} else{
alert('电话号码格式错误,请输入正确号码');
return false;
}
}
其中"phone"为电话号码input中的内容。
PHP后台中可再设一次验证,保证数据的安全性:
$telephone = "电话号码";
$isMob="/^1[3-5,8]{1}[0-9]{9}$/";
$isTel="/^([0-9]{3,4}-)?[0-9]{7,8}$/";
if(!preg_match($isMob,$telephone) && !preg_match($isTel,$telephone)){
echo '<script>alert("手机或电话号码格式不正确。如果是固定电话,必须形如(xxxx-xxxxxxxx)!");history.go(-1);</script>';
exit ();
}