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

如何用imask.js限制电话号码+33后首位不可输入0?

解决imask.js法国电话号码首数字非0的验证问题

你可以通过修改imask的掩码规则,将+33后的第一个数字限制为1-9,后续数字允许输入0-9,以下是两种可行实现方式:

方式一:静态掩码范围限制

直接在掩码中指定首数字的可选范围,代码如下:

var phoneMask = IMask(
  document.getElementById('number_phone'), {
    mask: '+{33}[1-9]00000000'
});
  • +{33}:固定前缀,用户无法修改
  • [1-9]:限制第一个输入的数字只能是1到9,禁止输入0
  • 00000000:后续8位数字允许输入0-9的任意数字

方式二:正则表达式掩码

如果需要更严格的实时格式校验,可直接使用正则掩码:

var phoneMask = IMask(
  document.getElementById('number_phone'), {
    mask: /^\+33[1-9]\d{8}$/,
    lazy: false // 开启实时校验,确保输入过程中始终符合规则
});

正则^\+33[1-9]\d{8}$的含义:

  • ^\+33:强制以+33开头
  • [1-9]:首数字必须是1-9
  • \d{8}:后续必须是8位任意数字(0-9均可)
  • $:匹配字符串结尾,避免多余字符输入

内容的提问来源于stack exchange,提问作者romdev

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 15:32:05