美文网首页
校验手机号码

校验手机号码

作者: Annun | 来源:发表于2022-10-21 09:39 被阅读0次

更新时间:2022-10-21

// 虚拟网络运营商
const MVNO = [
  {
    company: '中国电信',
    no: ['1700', '1701', '1702', '162']
  },
  {
    company: '中国移动',
    no: ['1703', '1705', '1706', '165']
  },
  {
    company: '中国联通',
    no: ['1704', '1707', '1708', '1709', '171', '167']
  }
]

// 移动网络运营商
const MNO = [
  {
    company: '中国移动',
    no: [
      '134',
      '135',
      '136',
      '137',
      '138',
      '139',
      '147',
      '150',
      '151',
      '152',
      '157',
      '158',
      '159',
      '178',
      '182',
      '183',
      '184',
      '187',
      '188',
      '198'
    ]
  },
  {
    company: '中国电信',
    no: ['133', '153', '173', '177', '180', '181', '189', '191', '199']
  },
  {
    company: '中国联通',
    no: [
      '130',
      '131',
      '132',
      '155',
      '156',
      '166',
      '175',
      '176',
      '185',
      '186'
    ]
  },
  {
    company: '中国广电',
    no: [
      '192'
    ]
  }
]

export function isMobile(mobile, type = 'all') {
  const reslut = {
    state: false,
    source: mobile,
    msg: '手机号码错误'
  }
  // 非空和长度验证
  if (!mobile && mobile.length === 11) {
    return reslut
  }
  
  const mobilePrefix = []

  // 添加移动运营商号段
  MNO.forEach(item => {
    for (let i = 0; i < item.no.length; i++) {
      mobilePrefix.push(item.no[i])
    }
  })

  if (type === 'all') {
  // 添加虚拟网络运营商号段
    MVNO.forEach(item => {
      for (let i = 0; i < item.no.length; i++) {
        if (!mobilePrefix.includes(item.no[i].substring(0, 3))) {
          mobilePrefix.push(item.no[i].substring(0, 3))
        }
      }
    })
  }

  const prefix = mobile.substring(0, 3)
  if (mobilePrefix.includes(prefix)) {
    reslut.state = true
    reslut.msg = ''
  }
  return reslut
}

相关文章

  • Java最全手机号码校验工具类,方便扩展

    支持校验中国大陆的全部手机号码支持单独校验中国电信号段手机号码支持单独校验中国联通号段手机号码支持单独校验中国移动...

  • 25个常用的正则表达式

    1、手机号码的校验 2、身份证的校验 3、邮箱的校验 4、URL的校验 5、IPv4的校验 6、16进制颜色的校验...

  • 常用正则表达式

    1、手机号码的校验 2、身份证的校验 3、邮箱的校验 4、URL的校验 5、IPv4的校验 6、16进制颜色的校验...

  • 常见正则表达式校验

    1、手机号码的校验 2、身份证的校验 3、邮箱的校验 4、URL的校验 5、IPv4的校验 6、16进制颜色的校验...

  • 正则校验

    /*校验手机号码*/ function isValidPhone(mobile){ // var re = /^(...

  • Django项目用户注册功能(完)

    一、注册功能(完) 1.业务流程分析 对校验进行校验校验用户名校验密码校验手机号码校验短信验证码 新建数据库记录 ...

  • iview: 表单校验

    表单校验 1、 手机号码 校验 2、 8位数包含字母和数字密码、再次输入密码 校验 3、 多个下拉选择框 必选校验...

  • 开发问题笔记

    目录 1.iOS手机号码校验 1.iOS手机号码校验 下面代码方法有判断号段;有些需要具体判断大陆、港澳地区参考帮...

  • 常用正则表达式

    校验手机号码:/^(13|15|17|18|14)[0-9]{9}$/ 固定电话或手机号码:/((\d{11})|...

  • iOS 关于wifi环境下指定使用蜂窝网

    需求 最近做一个需求,接入电信校验手机号码功能电信手机号码校验API。通过与电信工作人员沟通,移动端必须在使用电信...

网友评论

      本文标题:校验手机号码

      本文链接:https://www.haomeiwen.com/subject/hogpzrtx.html