Skip to content

BizPhoneInput 手机号输入 ​

实名 / 通讯录 / 账号体系的标准手机号录入:仅数字 + 11 位截断 + 3-4-4 分段展示、失焦校验(1[3-9] 号段规则)、运营商识别、可选编辑回显脱敏(非聚焦 138****1234、聚焦显原文核对)。与身份证 / 银行卡 / 信用代码输入同族,v-model 始终是纯数字明文。

座机模式(v0.7 type="landline"):区号-号码[-分机] 三段式录入——区号 0 开头 3-4 位、号码 7-8 位、分机 2-6 位可选;allow-hotline 支持 400/800 热线号(区号位直接填 400 + 7 位号码,无分机);脱敏为 010-****8888,change / blur 的 info 携带 kind / area / number / ext 结构化字段。

基础用法 ​

中国移动脱敏:138****1234
v-model:13856781234
输入自动分段;失焦校验并在下方提示原因;满 11 位展示运营商识别与脱敏预览。

回显脱敏 · 前缀插槽 · 编程式校验 ​

mask-mode="masked":非聚焦脱敏,聚焦显原文
mask-mode="masked" 用于编辑已有手机号场景(脱敏防肩窥,聚焦核对原文);validate() 主动取 BizPhoneInfo。

表单规则集成 ​

姓名
手机号
el-form 双规则:必填 + 格式(blur 时机),与组件内建失焦提示互为补充。

编辑回显脱敏保存 ​

未修改(聚焦可见原文核对)
masked 模式防肩窥;未修改不提交手机号字段(脏检查由业务侧比较)。

区号前缀插槽 ​

+86
v-model:(空)——区号仅展示,不进 v-model;suffix 插槽同理可挂「获取验证码」按钮
prefix 插槽挂 +86 区号;v-model 仍是裸 11 位,suffix 同理可挂验证码按钮。

紧急联系人列表 ​

多条手机号动态增删,每条独立分段/校验/错误提示。

座机模式基础 ​

--
座机脱敏:010-****8888

区号 0 开头 3-4 位、号码 7-8 位;完整后下方显示「座机」徽标与脱敏预览。 当前值:010-66668888

type="landline" 区号-号码三段式:区号 0 开头 3-4 位、号码 7-8 位,完整后显示「座机」徽标与脱敏预览。

分机录入 ​

允许分机
--
座机脱敏:0755-****9999

分机以 - 拼接在号码后输出(0755-86669999-6001);关闭 allow-extension 隐藏第三段输入。

allow-extension 控制第三段(2-6 位可选),输出以 - 拼接(0755-86669999-6001)。

400/800 热线号 ​

开放 400/800 热线
-
400 热线脱敏:400-****8888

热线格式 400-XXX-XXXX(v-model 为 400-6668888),徽标显示「400 热线」; allow-hotline=false 时录入 400 开头将报错(仅普通座机)。

区号位直接填 400/800 + 7 位号码(格式 400-XXX-XXXX,无分机);allow-hotline=false 可关停仅留普通座机。

手机 + 座机混合表单 ​

新建联系人
姓名
手机号
中国移动脱敏:139****1234
座机
--
座机脱敏:021-****6666
分机
新建联系人:手机必填(规则校验)+ 座机选填,同一表单两种类型并用。

座机异步回显与脱敏 ​

--

masked 非聚焦态显示 0571-****5588,聚焦显原文核对;v-model 始终明文。

接口晚到回填(含分机);mask-mode=masked 非聚焦显示 0571-****5588,聚焦显原文。

座机事件与结构化 info ​

--
座机脱敏:025-****3221
change / blur 的 BizPhoneInfo 携带 kind / area / number / ext,座机录入免二次拆串。

Props ​

属性名类型默认值说明
model-value / v-modelstring''手机号(纯数字明文)
placeholderstring'请输入手机号'占位文案
disabledbooleanfalse禁用
clearablebooleantrue可清空
mask-mode'plain' | 'masked''plain'展示形态:masked 非聚焦脱敏、聚焦显原文
show-errorbooleantrue失焦校验失败展示原因
show-infobooleantrue展示运营商识别与脱敏预览
type'mobile' | 'landline''mobile'输入类型:landline 座机(区号-号码[-分机],支持 400/800 热线)
allow-extensionbooleantrue[landline] 允许分机(2-6 位,输出以 - 拼接)
allow-hotlinebooleantrue[landline] 允许 400/800 热线号(区号位 400/800 + 7 位号码)

其余属性经 v-bind="$attrs" 透传 el-input(maxlength 已内置 11,无需传)。

Events ​

事件名参数说明
update:model-value(value: string)纯数字手机号
change(info: BizPhoneInfo)输入变化(含校验 / 运营商 / 脱敏)
blur(info: BizPhoneInfo)失焦(含最终校验结论)

BizPhoneInfo:value 纯数字、formatted 3-4-4 分段、masked 脱敏、valid / message 校验结论、carrier 运营商(yidong / liantong / dianxin / guangdian / virtual / unknown,CARRIER_LABELS 可取中文)。 座机模式追加:kind(mobile / landline)、area 区号、number 主体号码、ext 分机(v-model 为 区号-号码[-分机] 串)。

Slots ​

插槽名说明
prefix输入框前缀(如图标)
suffix输入框后缀

Expose ​

属性/方法说明
validate() => BizPhoneInfo 编程式校验取完整信息

校验口径说明 ​

  • 合法性仅按 1[3-9] 开头 11 位判定——工信部新号段持续放号,不做号段白名单拦截;
  • 运营商识别独立于校验(识别不出显示「未知号段」,不影响 valid);
  • 空值视为通过,必填由表单规则控制。