聯通電信或者移動手機號碼區分驗證程式碼

antzone發表於2017-03-12

大家都知道,手機號碼是區分運營商的,當然主要是聯通、電信和移動。

下面就分享一段程式碼例項,它能夠實現區分功能。

程式碼例項如下:

[JavaScript] 純文字檢視 複製程式碼
//中國移動程式碼
var isChinaMobile = /^134[0-8]\d{7}$|^(?:13[5-9]|147|15[0-27-9]|178|18[2-478])\d{8}$/;
//中國聯通程式碼
var isChinaUnion = /^(?:13[0-2]|145|15[56]|176|18[56])\d{8}$/;
//中國電信程式碼
var isChinaTelcom = /^(?:133|153|177|18[019])\d{8}$/;
//其他運營商手機號碼
var isOtherTelphone = /^170([059])\d{7}$/;
var utils = {
  checkMobile: function (telphone) {
    telphone = this.trim(telphone);
    if (telphone.length !== 11) {
      return this.setReturnJson(false, '未檢測到正確的手機號碼');
    }
    else {
      if (isChinaMobile.test(telphone)) {
        return "這是移動號碼";
      }
      else if (isChinaUnion.test(telphone)) {
        return "這是聯通號碼";
      }
      else if (isChinaTelcom.test(telphone)) {
        return "這是電訊號碼";
      }
      else if (isOtherTelphone.test(telphone)) {
        var num = isOtherTelphone.exec(telphone);
        return "這是其他運營商號碼";
      }
      else {
        return "未檢測到正確的手機號碼";
      }
    }
  },
  trim: function (telphone) {
    return telphone.replace(/(^\s*)|(\s*$)/g, "");
  }
}
console.log(utils.checkMobile("18300258520"));

相關文章