收藏了二款手機號碼驗證的代碼,一是前臺用jquery驗證再用后臺php代碼來驗證手機號是否合法,希望對大家有用。
前端代碼我使用jquery.validate.js,代碼如下:
- <script type="text/javascrip">
- $(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是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為數字 '|'(或者的意思)
- * 151,152,153,156,158.159開頭的跟著任意的8為數字
- * 或者是188開頭的再跟著任意的8為數字,匹配其中的任意一組就通過了
- * /")*/
- var_dump($array); //看看是不是找到了,如果找到了,就會輸出電話號碼的
- }else
- {
- echo "長度必須是11位";
- }
- /*
- * 雖然看起來復雜點,清楚理解!
- * 如果有更好的,可以貼出來,分享快樂!
- * */
- ?>
新聞熱點
疑難解答