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