Skip to content

BizPasswordInput 密码输入 ​

唯一密码录入组件(原独立组件 BizPasswordMeter 密码强度计已并入本包,作为子导出组件保留、可独立使用)。密码输入增强:显示切换(EP 原生)+ 四档实时强度条(弱 / 中 / 强 / 极强,按长度 / 大小写 / 数字 / 符号组合评估)+ 规则清单逐项打勾(内置四条强度规则,rules 自定义合规规则合并展示)+ 可选 confirm 二次输入一致性校验。注册 / 改密 / 等保合规页标配;强度变化以 strength-change 外抛完整评估结果。

从旧版迁移:show-strength prop 名不变(原三档简版升级为四档完整版);BizPasswordMeter 改从 biz-password-input 包导入(import { BizPasswordMeter } from 'vue3-ep-biz-lib' 用法不变)。

基础用法 ​

  • 长度不小于 8 位
  • 包含大写和小写字母
  • 包含数字
  • 包含符号

输入观察四档强度(弱 / 中 / 强 / 极强)与规则清单变化:长度不足 8 位封顶「弱」,覆盖越多字符组合档位越高

默认开启四档强度条与内置规则清单(长度 ≥8 / 大小写 / 数字 / 符号);长度不足 8 位封顶「弱」,≥12 位有额外加成。

强度与规则清单开关 ​

显示强度条
显示规则清单
强
  • 长度不小于 8 位
  • 包含大写和小写字母
  • 包含数字
  • 包含符号

弹窗等紧凑场景可只留强度条;合规要求严格的场景展开完整规则清单

show-strength 控制强度条与档位文案,show-rules 控制规则清单,二者可独立裁剪。

四档强度对照 ​

弱

当前样例:abc123

点击填充不同强度样例,观察弱 / 中 / 强 / 极强档位跃迁(独立使用 BizPasswordMeter 渲染)。

自定义合规规则 ​

账号:zhangsan

  • 长度不小于 8 位
  • 包含大写和小写字母
  • 包含数字
  • 包含符号
  • 不得包含账号名
  • 不超过 32 位
  • 不能为纯数字

内置强度规则(长度 / 大小写 / 数字 / 符号)与业务合规规则合并逐项打勾,validate() 同时校验两份清单

rules 注入业务合规规则(label + pattern/test),与内置强度规则合并逐项打勾,并计入 validate() 校验。

confirm 一致性校验 ​

  • 长度不小于 8 位
  • 包含大写和小写字母
  • 包含数字
  • 包含符号

confirm 模式追加二次输入框;maxlength 等约束同步作用于两个输入框;提交前 validate() 校验强度与一致性

confirm 追加二次输入框,不一致即时红字提示;maxlength / disabled / readonly 等约束同步作用于两个输入框;resetConfirm() 清空二次输入。

修改密码表单 ​

当前密码
新密码
  • 长度不小于 8 位
  • 包含大写和小写字母
  • 包含数字
  • 包含符号
改密场景:当前密码 + 新密码(confirm 二次输入 + 实时强度),提交前 validate() 统一校验。

注册流程 ​

账号
登录密码
  • 长度不小于 8 位
  • 包含大写和小写字母
  • 包含数字
  • 包含符号
  • 长度 10~20 位
  • 同时包含字母与数字
  • 不含空格
注册场景:validate() 联动提交按钮禁用态——内置强度规则与自定义规则全部通过且两次输入一致才可提交。

等保三级口径 ​

  • 长度不小于 8 位
  • 包含大写和小写字母
  • 包含数字
  • 包含符号
  • 长度不少于 12 位
  • 包含大写字母
  • 包含小写字母
  • 包含数字
  • 包含特殊字符
  • 不得包含账号名
合规场景:自定义六条规则(≥12 位、三类字符、不含账号名),confirm 一致性 + 一键合规校验。

管理员重置密码 ​

  • 长度不小于 8 位
  • 包含大写和小写字母
  • 包含数字
  • 包含符号
运维场景:一键生成随机强密码回填(规则全命中),重置后短信下发。

独立强度计(BizPasswordMeter) ​

  • 长度不小于 8 位
  • 包含大写和小写字母
  • 包含数字
  • 包含符号

BizPasswordMeter 为 biz-password-input 的子导出组件:password 受控只读评估,可接入任何输入源(含接口回填的存量密码字段)

BizPasswordMeter 为本包子导出组件,可脱离 BizPasswordInput 搭配任意输入源(普通 ElInput、接口回填等):password 受控只读评估,size 适配尺寸。

强度事件日志 ​

  • 长度不小于 8 位
  • 包含大写和小写字母
  • 包含数字
  • 包含符号
  • 不含空格
最近 6 条评估日志
强度变化触发 strength-change,外抛 { level, text, builtin, custom } 完整评估结果(原 Meter change 语义,风控 / 审计侧可按档位联动拦截)。

禁用 / 只读态 ​

强
  • 长度不小于 8 位
  • 包含大写和小写字母
  • 包含数字
  • 包含符号

disabled / readonly 等 attrs 透传内部 el-input(confirm 模式下两个输入框同步生效),强度计仍实时展示当前值档位

disabled / readonly 等 attrs 透传内部 el-input,confirm 模式下两个输入框同步生效,强度计仍实时展示。

Props(BizPasswordInput) ​

属性名类型默认值说明
v-modelstring''密码值
placeholderstring'请输入密码'占位文案
show-strengthbooleantrue强度条 + 档位文案(四档完整版:弱 / 中 / 强 / 极强)
show-rulesbooleantrue规则清单(内置四条 + 自定义合并、逐项打勾)
rulesBizPasswordRule[][]自定义合规规则(label + pattern/test 二选一,合并展示并计入校验)
confirmbooleanfalse二次输入模式:追加确认输入框并校验一致性
confirm-placeholderstring'请再次输入密码'二次输入占位文案

其余 attrs 透传内部 el-input(maxlength / disabled / readonly / required...);maxlength、disabled、readonly 同时作用于 confirm 二次输入框。

Events(BizPasswordInput) ​

事件名参数说明
update:modelValue(value: string)密码变化(v-model)
change(value: string)密码变化
strength-change(result: BizPasswordMeterResult)强度档位或规则命中态变化,外抛完整评估结果(原 Meter change 语义)

Slots(BizPasswordInput) ​

插槽名说明
—无自定义插槽

Expose(BizPasswordInput) ​

属性/方法类型说明
levelnumber当前四档强度 0-4(0 = 空未评估)
strengthBizPasswordStrength兼容三档口径(0-1 弱 / 2 中 / 3-4 强)
getResult() => BizPasswordMeterResult | undefined完整评估结果(档位 + 内置 / 自定义命中态)
validate() => boolean非空 + 内置强度规则全过 + 自定义规则全过(confirm 模式下含一致性)
resetConfirm() => void清空二次输入

子导出 BizPasswordMeter(独立用法) ​

BizPasswordMeter 由原独立组件 biz-password-meter 并入,实现位于 biz-password-input 包内(import { BizPasswordMeter } from 'vue3-ep-biz-lib'),可独立搭配任意输入源使用;BizPasswordInput 内部即复用该组件完成强度评估(评估逻辑全库仅此一份)。其 change 事件与 BizPasswordInput 的 strength-change 语义一致。

Props(BizPasswordMeter) ​

属性名类型默认值说明
passwordstring''待评估密码(受控只读,可接任意输入源)
show-barbooleantrue显示四档色条
show-textbooleantrue显示强度文案
show-rulesbooleanfalse显示规则清单(内置 + 自定义合并)
rulesBizPasswordMeterRule[][]自定义合规规则(仅清单展示,不参与强度分档)
size'small' | 'default' | 'large''default'尺寸(色条高度适配)

Events(BizPasswordMeter) ​

事件名参数说明
change(result: BizPasswordMeterResult)档位或命中态变化,外抛完整评估结果

Slots(BizPasswordMeter) ​

插槽名说明
—无自定义插槽

Expose(BizPasswordMeter) ​

名称类型说明
getLevel() => number当前档位 0-4
getResult() => BizPasswordMeterResult完整评估结果

类型定义 ​

类型说明
BizPasswordRule自定义合规规则:{ label, pattern?, test? }(pattern 与 test 二选一,BizPasswordInput.rules 用)
BizPasswordMeterRule强度计清单项:{ label, test }(BizPasswordMeter.rules 用)
BizPasswordMeterResult评估结果:{ level, text, builtin, custom }(内置 / 自定义规则命中态)
BizPasswordStrength兼容三档口径:'weak' | 'medium' | 'strong'
BizPasswordInputProps / BizPasswordMeterProps两组件 Props 类型
BizPasswordInputInstance / BizPasswordMeterInstance两组件实例类型