feat: 正则表达式

master
LCJ-MinYa 5 months ago
parent 046b45d4fa
commit bdc54856b0

@ -94,6 +94,10 @@ const titleArr = [
key: 'rebindEvent',
title: '重复绑定相同事件的执行机制',
},
{
key: 'reg',
title: '正则表达式',
},
];
// @/views/demo/**/*.vue

@ -0,0 +1,17 @@
<template>
<div
class="markdown-body"
v-html="htmlStr"
></div>
</template>
<script setup>
import { ref } from 'vue';
import { marked } from 'marked';
import { getMarkdownContent } from '@/utils/tools';
const htmlStr = ref('');
getMarkdownContent('./md/reg.md').then((res) => {
htmlStr.value = marked(res);
});
</script>

@ -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'))
```
Loading…
Cancel
Save