1. 程式人生 > >JS正則表示式驗證是否為11位有效手機號碼

JS正則表示式驗證是否為11位有效手機號碼

最近在做註冊登陸頁面,都要涉及到驗證11位有效手機號碼,這裡貼出程式碼,希望能幫到有這個開發需求的朋友。

  function isPoneAvailable($poneInput) {
            var myreg=/^[1][3,4,5,7,8][0-9]{9}$/;
            if (!myreg.test($poneInput.val())) {
                return false;
            } else {
                return true;
            }
        }

這裡我直接封裝在一個方法中,需要用的時候傳入一個input的jq物件即可。當然,您也可以直接傳入字串,如:
  function isPoneAvailable(str) {
            var myreg=/^[1][3,4,5,7,8][0-9]{9}$/;
            if (!myreg.test(str)) {
                return false;
            } else {
                return true;
            }
        }
這裡的重點是這個正則表示式:
var myreg=/^[1][3,4,5,7,8][0-9]{9}$/;
這個表示式的意思是:

1--以1為開頭;

2--第二位可為3,4,5,7,8,中的任意一位;

3--最後以0-9的9個整數結尾。

本來只容13,15,17,18,開頭的手機號,但是測試mm說有14開頭的號碼,所以添加了14;當然,如果以後要是發展成有16,或者19,之類的開頭號碼的話,在

[3,4,5,7,8]
中新增即可。

2017-9-8 

 // 判斷是否為手機號
  isPoneAvailable: function (pone) {
    var myreg = /^[1][3,4,5,7,8][0-9]{9}$/;
    if (!myreg.test(pone)) {
      return false;
    } else {
      return true;
    }
  },
  // 判斷是否為電話號碼
  isTelAvailable: function (tel) {
    var myreg = /^(([0\+]\d{2,3}-)?(0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$/;
    if (!myreg.test(tel)) {
      return false;
    } else {
      return true;
    }
  },