比較簡潔的代碼一:
$str = ''; $isMatched = preg_match('/^0?(13|14|15|17|18)[0-9]{9}$/', $str, $matches); var_dump($isMatched, $matches);
代碼二
<?php //正則表達式 $tel = "15558530459"; //作者的手機號碼,如果有疑問可以電話聯(lián)系我,或者QQ聯(lián)系我,我的QQ是mezongzi@qq.com 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為數(shù)字 '|'(或者的意思) * 151,152,153,156,158.159開頭的跟著任意的8為數(shù)字 * 或者是188開頭的再跟著任意的8為數(shù)字,匹配其中的任意一組就通過了 * /")*/ var_dump($array); //看看是不是找到了,如果找到了,就會輸出電話號碼的 } else { echo "長度必須是11位"; } /* * 雖然看起來復雜點,清楚理解! * 如果有更好的,可以貼出來,分享快樂! * */ ?>