From bdc54856b0765769a083d44b2d4268f3cc834af3 Mon Sep 17 00:00:00 2001 From: LCJ-MinYa <1049468118@qq.com> Date: Thu, 31 Jul 2025 13:59:31 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=AD=A3=E5=88=99=E8=A1=A8=E8=BE=BE?= =?UTF-8?q?=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/router/modules/demo.ts | 4 ++++ src/views/demo/reg/index.vue | 17 +++++++++++++++ src/views/demo/reg/reg.md | 42 ++++++++++++++++++++++++++++++++++++ 3 files changed, 63 insertions(+) create mode 100644 src/views/demo/reg/index.vue create mode 100644 src/views/demo/reg/reg.md diff --git a/src/router/modules/demo.ts b/src/router/modules/demo.ts index adf546f..f2613b7 100644 --- a/src/router/modules/demo.ts +++ b/src/router/modules/demo.ts @@ -94,6 +94,10 @@ const titleArr = [ key: 'rebindEvent', title: '重复绑定相同事件的执行机制', }, + { + key: 'reg', + title: '正则表达式', + }, ]; // @/views/demo/**/*.vue diff --git a/src/views/demo/reg/index.vue b/src/views/demo/reg/index.vue new file mode 100644 index 0000000..d32989b --- /dev/null +++ b/src/views/demo/reg/index.vue @@ -0,0 +1,17 @@ + + + diff --git a/src/views/demo/reg/reg.md b/src/views/demo/reg/reg.md new file mode 100644 index 0000000..3a4683e --- /dev/null +++ b/src/views/demo/reg/reg.md @@ -0,0 +1,42 @@ +## 身份证,手机号等前端脱敏 + +```javascript +/** + * 身份证号码脱敏方法 + * IdNum.replace(/^(.{2}).+(.{2})$/, '$1****$2') 前2后2中间4个*号 + * IdNum.replace(/^(.{4}).+(.{4})$/, '$1****$2') 前4后4中间4个*号 + * IdNum.replace(/^(.{2}).+(.{2})$/, '$1******$2') 前2后2中间6个*号 + * IdNum.replace(/^(.{6}).+(.{6})$/, '$1**$2') 前6后6中间2个*号 + * @param {string} IdNum + * @returns + */ +const IdNumberFilter = (IdNum) => { + if (IdNum != null) { + if (IdNum.length <= 8) { + // 当输入的身份证号码长度小于等于8位时,只显示前两位和后两位 + return IdNum.replace(/^(.{2}).+(.{2})$/, '$1****$2'); + } else { + // 当输入的身份证号码长度大于8位时,只显示前四位和后四位 + return IdNum.replace(/^(.{4}).+(.{4})$/, '$1****$2'); + } + } +}; +``` + +## 邮箱脱敏 + +```javascript +/** + * 邮箱脱敏方法 + * @param {string} email + * @returns + */ +const EmailFilter = (email) => { + if (email != null) { + // 匹配邮箱的前三位和@符号后的完整域名 + return email.replace(/^(.{3})[^@]*@(.*)$/, '$1****@$2'); + } +}; + +console.log(EmailFilter('thisistest778@qq.com')) +``` \ No newline at end of file