背景:项目内姓名脱敏,手机号/银行账号脱敏及强密码正则。
注意:手机号脱敏需求考虑信息安全情况基本不会放到前台一般情况都是由后台处理还后前台进行展示,此分享只是作为参考示意。
姓名脱敏(添加*号)
'哈哈哈'.replace(/(?<=[\u4e00-\u9fa5])[\u4e00-\u9fa5]/g, '*') // 哈**
手机号/银行账号脱敏
'12345678910'.replace(/(?<=\d{3})\d(?=\d{3})/g, '*') // 123*****910
// 正则规则内第一个{3}为'*'前显示内容长度
// 正则规则内第二个{3}为'*'后显示内容长度
强密码规则校验
// 密码不能为空,8-30位,至少包含一个大写字母、小写字母、数字、特殊字符
/^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[\W_])(?!.*[\u4e00-\u9fa5])(?!\s)[a-zA-Z0-9\W_]{8,30}$/