港澳台手机号码规则校验

发布时间 2023-07-18 10:50:51作者: 情绪在雨中

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

/**
 *@param { } // 0 中国内陆电话手机 1 中国香港电话 2中国台湾电话 3 中国澳门电话 4中国内陆座机
 @returns Boolean
 */
 export function isAllPhone(str, type = "all") {
  const island = /^[1][3-9]\d{9}$/;
  const hk = /^(00)?(852)[5|6|9]\d{7}$/;
  const taiwang = /^[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);
  }
}
每次输入校验就可以了
 
https://blog.csdn.net/sophiazcsu/article/details/131781891