1. 程式人生 > >關於手機號碼四重號,四連號的校驗

關於手機號碼四重號,四連號的校驗

這裡寫圖片描述

友友們,聖誕節快樂,有沒有給女朋友準備禮物那!!!作為單身狗的我也假裝和哥哥去吃了飯,希望明年不是他,哈哈.

言歸正傳,在最近的一個需求中遇到一個關於手機號碼的校驗問題,的確難為了作為小白的我,現在整理一下解決思路;

1.需求背景

該需求是關於移動手機號碼新號段預約,使用者在頁面輸入自己喜歡的號碼來進行預約.我們知道手機號碼是11位,其中不同地市都有對應的號段,因此使用者輸入的只是號碼的後四位.
其中,明確要求四重號(例如8888),四連號(1234或4321),這樣的靚號不參與預約,那麼我們在要在使用者輸入類似情況時,給予正確的校驗,然後給出合適的提示語;

2.思路分析

首先,我想到利用正則來進行校驗,但是網路上實在找不到合適的正則;自己又寫出出來(原諒菜的我),最後在師傅的指導下,決定採用程式碼的方式來進行校驗;

3.解決方案

首先,獲取到尾號值,然後將它分割為陣列,然後迴圈遍歷,根據四重號和四連號的特點來進行計數,然後根據計數值來判斷是否是四重號或者四連號;

這裡寫圖片描述

    var endPhoneNo = weihao.split("");
    var PINum = 0;//遞增數量
    var DPNum = 0;//遞減數量
    var DBNum = 0;//遞增數量
    for(var i = 0;i < (endPhoneNo.length - 1) ; i++){
        var curPhoneNo = endPhoneNo[i];
        var nextPhoneNo = endPhoneNo[i+1
]; if(((curPhoneNo * 1) + 1) == (nextPhoneNo * 1)){//遞增四連號 PINum ++ ; }else if(((curPhoneNo * 1) - 1) == (nextPhoneNo * 1)){//遞減四連號 DPNum ++; }else if(curPhoneNo == nextPhoneNo ){//四重號 DBNum ++; } } if(PINum == 3 || DPNum == 3){ toast("四連號、四重號及以上不支援預約!"
); return false; }else if(DBNum == 3){ toast("四連號、四重號及以上不支援預約!"); return false; }

// 訊息彈出(需要在頁面定義div)
function toast(msg) {
    $('.toastItem').show().find('span').text(msg);
    setTimeout(function() {
        $('.toastItem').hide()
    }, 1500)
}

謝謝大家,以上是我的解決方案,希望和大家交流更好的方法,給我留言哦!!!