港澳台手机号验证 手机号验证

该代码实现了一个JavaScript函数isAllPhone,用于验证中国大陆、香港、台湾和澳门的手机号码。通过不同的正则表达式,函数可以校验四种类型的电话号码,并支持验证所有类型(all)或特定类型(0-4分别对应内陆、香港、台湾、澳门和内陆座机)。

最近有涉及到港澳台手机号验证,就写了一个校验

/**

 *@param { } // 0 中国内陆电话手机 1 中国香港电话 2中国台湾电话 3 中国澳门电话 4中国内陆座机

 @returns Boolean

 */

 export function isAllPhone(str, type = "all") {

const island = /^(00|\+)?(86)?[1][3-9]\d{9}$/

  const hk = /^(00|\+)?(852)[5|6|9]\d{7}$/

  const taiwang = /^(00|\+)?(886)[0][9]\d{8}$/

  const aomen = /^(00|\+)?(853)?[6]\d{7}$/

  const islandTel = /^(?:(?:\d{3}-?)?\d{8}|^(?:\d{4}-?)?\d{7,8})(?:-\d+)?$/

  const regObj = {

    0: island,

    1: hk,

    2: taiwang,

    3: aomen,

    4: islandTel,

  };

  if (type === "all") {

    return Object.values(regObj).some((v) => v.test(str));

  } else {

    return regObj[type].test(str);

  }

}

每次输入校验就可以了

isAllPhone('18112341234')  // true

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值