Agent Skills
返回列表
输入掩码

输入掩码

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_f1b049da/spa20269450。

技能介绍

解决什么实际问题

原生 <input> 只会把键盘输入原样回显,面对手机号、金额、证件号这类有固定分段或分隔符的字段,往往会直接暴露成一串裸数字。结果就是表单看起来拥挤、抄录容易出错,提交前还要额外做格式校验和二次清洗。

IMask 技能针对的就是这几个高频场景:

  • 手机号 138 0000 0000 分段:边输入边套掩码,提交前取 unmasked 纯数字。
  • 金额千分位 / 证件号分段录入:展示值带分隔,存库值保持紧凑。
  • Element Plus / 原生 input 要输入掩码:不替换框架,只挂载到现有节点。

技能如何工作

核心思路很直接:给目标 input 挂 IMask,展示走 masked,提交走 unmasked。技能内置常用预置,也可以按需扩展。

Agent 执行步骤

  • 给目标 input 挂 IMask;提供 getValue() → unmasked。
  • 校验:手机去空格后长度 11 再调业务校验。
  • Vue 场景优先官方指令 / 组件,勿重复造轮子。
  • 自测:输入过程显示掩码,提交为纯数字。

硬约束

  • 使用 imask(或 vue-imask 等官方封装)。
  • 表单提交用 unmasked 值;展示可用 masked。
  • 预置:手机 11 位、金额、简易证件;按需扩展。
  • 销毁组件时 mask.destroy(),防泄漏。
  • 实现要点注释标 小四原创。

适用边界与注意点

不要做

  • 把掩码显示值直接当唯一存库字段却不说明。
  • 与 cleave 重复造两套同字段(二选一即可)。

适用边界

  • 技能灵感来自能力工具箱 imask,因此底层能力以 IMask 为界,不做通用格式化器。
  • 预置模板只覆盖手机、金额、简易证件三类,其他字段需要自己扩展。
  • Vue 项目直接用官方指令或组件,避免手写指令与官方封装打架。
  • 附加资料包括 README.md、reference.md、templates/usage.md,适合需要看完整示例和模板的工程师。

自测要点

  • 输入过程中掩码要即时生效。
  • 提交值必须是去掉空格和分隔符后的纯数字。
  • 组件卸载后不残留事件监听或占位符。

只要守住「展示用 masked、提交用 unmasked、销毁要 destroy」这三条,IMask 就能在原生 input、Element Plus 等常见表单里稳定工作。

使用场景

  • 给 Element Plus 表单的手机号输入框挂掩码,输入时显示 138 0000 0000,提交时取 11 位纯数字。
  • 金额录入字段需要千分位展示,提交前把逗号和空格去掉,只保留数字给后端存库。
  • 证件号分段录入场景,展示时按位数切分,提交时还原成不带分隔符的原始串。
  • 原生 input 项目要加输入掩码,不想引入完整表单库,直接挂 IMask 即可。

适合人员

  • 做后台管理系统的前端工程师,需要给 Element Plus 表单统一加上手机号、金额的输入掩码。
  • 写原生 HTML 表单的独立开发者,想在不引入框架的前提下给 input 加分段和千分位显示。
  • 对接支付或订单系统的开发者,要确保金额提交值不含逗号和空格,展示值却带千分位。
  • 维护注册登录流程的团队,需要在校验前把手机号空格去掉并确认长度为 11。