You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用JavaScript输入掩码实现Mac ID与电话号码的适配格式化

兼容Mac ID与电话号码录入的IMask实现方案

你需要使用IMask的dispatch动态调度能力,根据输入内容的开头自动切换掩码规则,实现需求的完整代码如下:

页面结构代码

<script src="https://unpkg.com/imask"></script>
<div class="form-group">
  <label>Mac地址或手机号</label>
  <input type="text" class="form-control" name="user" id="user" placeholder="请输入内容">
</div>

掩码配置代码

const inputMask = new IMask(document.getElementById('user'), {
  dispatch: (inputChar, currentMask) => {
    const fullValue = currentMask.value + inputChar
    // 输入内容以00开头时,启用Mac地址格式化规则
    if (fullValue.startsWith('00')) {
      return {
        mask: '**:**:**:**:**:**',
        definitions: {
          // 限制Mac地址仅允许十六进制字符,不需要可删除该配置段
          '*': /[0-9A-Fa-f]/
        }
      }
    }
    // 其他输入内容使用纯数字规则,适配手机号录入,无自动插入冒号逻辑
    return {
      mask: /^\d{0,11}$/
    }
  }
})

规则说明

  • 只要输入内容以00开头,就会自动触发Mac地址格式化逻辑,每输入2个字符自动插入冒号
  • 非00开头的输入内容默认按照手机号规则处理,仅允许输入数字,不会自动添加分隔符
  • 可以根据业务需要调整非00场景下的正则规则,比如支持带国际区号的电话号码格式

内容的提问来源于stack exchange,提问作者Muhammad Yahya Imran

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 09:45:08