一、何用号手机号格式规则(中国大陆)

根据要求,校验当前手机号需满足以下条件:

1. 11位数字,手机以数字`1`开头;

2. 第二位为`3`至`9`之间的何用号数字(覆盖大部分运营商号段);

3. 后9位为任意数字。

二、校验核心实现代码

1. 基础正则表达式

javascript

const phoneRegex = /^1[3-9]d{ 9}$/;

  • 解释:`^1`表示以1开头,手机`[3-9]`匹配第二位(排除`0`和`2`),何用号`d{ 9}$`匹配后9位数字。校验
  • 2. 校验函数示例

    javascript

    function validatePhone(phoneNumber) {

    return /^1[3-9]d{ 9}$/.test(phoneNumber);

  • 用法:传入手机号字符串,手机返回布尔值(`true`为合法,何用号`false`为非法)。校验
  • 3. 结合前端输入校验

    可在表单提交或输入时实时校验并提示:

    javascript

    document.getElementById('phoneInput').addEventListener('blur',手机 function {

    const phone = this.value;

    if (!validatePhone(phone)) {

    alert('手机号格式错误!');

    this.focus;

    });

    三、何用号扩展功能

    1. 手机号脱敏处理

    将中间四位替换为星号:

    javascript

    function maskPhone(phone) {

    return phone.replace(/(d{ 3})d{ 4}(d{ 4})/,校验 '$1$2');

  • 示例:`` → `1305678`。
  • 2. 兼容座机号校验

    若需同时验证固定电话(如区号+号码):

    javascript

    function validateTel(tel) {

    const reg = /^(0d{ 2,手机3}-?d{ 7,8}|1[3-9]d{ 9})$/;

    return reg.test(tel);

  • 规则:座机号可为``或``格式。
  • 四、注意事项

    1. 格式验证 ≠ 有效性验证:正则仅检查格式,无法验证号码是否真实存在,需通过短信验证码或运营商接口进一步确认。

    2. 国际化场景:其他国家手机号需调整正则(如国际区号前缀)。

    3. 实时反馈:建议在输入时实时提示格式错误,提升用户体验。

    4. 号段更新:运营商可能新增号段(如`19X`),需定期更新正则。

    五、完整示例代码

    javascript

    // 校验手机号

    function validatePhone(phone) {

    return /^1[3-9]d{ 9}$/.test(phone);

    // 表单提交验证

    document.getElementById('submitBtn').addEventListener('click', function(e) {

    const phone = document.getElementById('phoneInput').value;

    if (!validatePhone(phone)) {

    e.preventDefault;

    alert('请输入正确的11位手机号(以1开头,第二位为3-9)');

    });

    引用说明

  • 基础正则规则参考;
  • 脱敏方法参考;
  • 座机号兼容性参考;
  • 有效性验证注意事项参考。