收藏了二款手機號碼驗證的代碼,一是前台用jquery驗證再用後台php教程代碼來驗證手機號是否合法,希望對大家有用。
前端代碼我使用jquery.validate.js,代碼如下:
JavaScript代碼
<script type="text/網頁特效">
$(document).ready(function() {
$("#smForm").validate({
rules: {
smMobilePhone: {
required: true,
digits:true,
range:[13000000000,18999999999]
}
},
messages: {
smMobilePhone: {
required: "您沒有填寫手機號碼",
digits: "手機號碼格式不對",
range: "手機號長度或者格式不對",
}
},
preErrs : {
}
});
});
</script>
這只是一個不精確的驗證,只能大概驗證到一個范圍而已,所以重點還在後面。
PHP代碼
$mobilephone=trim($_POST["smMobilePhone"]);
//手機號碼的正則驗證
if(preg_match("/^13[0-9]{1}[0-9]{8}$|15[0189]{1}[0-9]{8}$|189[0-9]{8}$/",$mobilephone)){
//驗證通過
}else{
//手機號碼格式不對
}
看實例
<?php
//正則表達式
$tel = "15558530459";//作者的手機號碼,如果有疑問可以電話聯系我,或者QQ聯系我,我的QQ是[email protected]
if(strlen($tel) == "11")
{
//上面部分判斷長度是不是11位
$n = preg_match_all("/13[123569]{1}d{8}|15[1235689]d{8}|188d{8}/",$tel,$array);
/*接下來的正則表達式("/131,132,133,135,136,139開頭隨後跟著任意的8為數字 '|'(或者的意思)
* 151,152,153,156,158.159開頭的跟著任意的8為數字
* 或者是188開頭的再跟著任意的8為數字,匹配其中的任意一組就通過了
* /")*/var_dump($array); //看看是不是找到了,如果找到了,就會輸出電話號碼的
}else
{
echo "長度必須是11位";
}
/*
* 雖然看起來復雜點,清楚理解!
* 如果有更好的,可以貼出來,分享快樂!
* */
?>