首页 > 其他分享 >js 用**遮罩身份证以及手机号中间部位,进行掩码处理

js 用**遮罩身份证以及手机号中间部位,进行掩码处理

时间:2022-10-10 21:12:59浏览次数:35  
标签:遮罩 return 手机号 afterShow js frontShow 掩码 occlusionToidCard data

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

相关文章