js 用**遮罩身份证以及手机号中间部位,进行掩码处理
一、应用场景
实例将 18位身份证 以及11位的手机号进行遮掩处理
样例为 42333333330435 和15765559657
转为的结果如图:
二、实现思路
转化的代码为 自己创建一个js文件将代码复制进去,思路是可以传 头部显示多少位置 ,末尾显示几位,然后进行计算中间的星星数,最近进行拼接则达到我们想要的数据。
// 设置**遮罩隐藏 参数( 数据 前三位 后四位) function basecclusion(data, frontShow, afterShow) { if (data.length <= afterShow) return ""; let dataLengh = data.length; if (dataLengh > frontShow + afterShow) { let obscuringStar = '*'; // 计算中间星星数 for (let i = 0; i < dataLengh - frontShow - afterShow; i++) { obscuringStar += '*'; } return data.substring(0, frontShow) + obscuringStar + data.substring(data.length - afterShow, data.length); } else { return '—'; // 不规范时返回'-' } } // 自定义 遮盖长度 export function occlusion(data, frontShow, afterShow) { return basecclusion(data, frontShow, afterShow); } // 身份证遮盖长度 export function occlusionToidCard(data) { return basecclusion(data, 6, 4); } // 手机号遮盖长度 export function occlusionToPhone(data) { return basecclusion(data, 3, 4); }-
三、使用方法
因为进行了二次封装 有三个方法,自己可以在basecclusion基础上自己设置,进行导出目前可以用有以下
occlusionToidCard 用来处理身份证,
occlusionToPhone用来处理手机号,
occlusion 动态设置的遮掩的长度
import { occlusionToidCard, occlusionToPhone, occlusion} from '@/utils/processing.js'; let idCard=421127333330435 console.log( occlusionToidCard(text)) // 输出421127********0435 let phone=15765559657 console.log( occlusionToidCard(phone)) // 输出157****9657 let text='404840我的' console.log(occlusion (text,2,3)) // 输出'404**0我的' 输出 前2个 和末尾3个显示
标签:遮罩,return,手机号,afterShow,js,frontShow,掩码,occlusionToidCard,data From: https://www.cnblogs.com/Fooo/p/16777360.html