亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

JS實(shí)現(xiàn)手機(jī)號(hào)脫敏、郵箱脫敏、身份證號(hào)脫敏、姓名脫敏等常見脫敏代碼示例

 更新時(shí)間:2024年02月01日 15:32:38   作者:暴怒的代碼  
這篇文章主要給大家介紹了關(guān)于JS實(shí)現(xiàn)手機(jī)號(hào)脫敏、郵箱脫敏、身份證號(hào)脫敏、姓名脫敏等常見脫敏的相關(guān)資料,脫敏的目的是保護(hù)用戶隱私,一種常見的方式是顯示部分字符,用星號(hào)或其他字符替代,需要的朋友可以參考下

一:為什么要脫敏?

在前端項(xiàng)目開發(fā)中,數(shù)據(jù)的展示與渲染是非常關(guān)鍵的一步。通常我們會(huì)從后端接口直接拿到數(shù)據(jù),但是在某些情況下渲染一些隱私信息,比如身份證號(hào),手機(jī)號(hào)等。這些我們就需要進(jìn)行脫敏處理,比如前三后四的格式,又或者其它格式。這樣有利于布局和保密。接下來,就讓我們看一下常見的脫敏種類吧!

二:如何實(shí)現(xiàn)脫敏?

在實(shí)現(xiàn)脫敏上,我們主要使用的是正則表達(dá)式和字符串的 replace 替換這兩個(gè)技術(shù)。字符表達(dá)式是用來匹配我們要去進(jìn)行替換的數(shù)據(jù)。replace 則是根據(jù)各種不同的需求替換成不同的字符。

1.手機(jī)號(hào)脫敏(前三后四)

// 手機(jī)號(hào)做脫敏處理
function phoneHide(phone) {
    let reg = /^(1[3-9][0-9])\d{4}(\d{4}$)/; // 定義手機(jī)號(hào)正則表達(dá)式
    phone = phone.replace(reg, '$1****$2');
    return phone; // 185****6696
}

2.郵箱脫敏

function emailHide(email) {
    var avg;
    var splitted;
    var email1;
    var email2;
    splitted = email.split('@');
    email1 = splitted[0];
    avg = email1.length / 2;
    email1 = email1.substring(0, email1.length - avg);
    email2 = splitted[1];
    return email1 + '***@' + email2; // 輸出為81226***@qq.com
}

3.身份證號(hào)脫敏

function cardHide(card) {
    const reg = /^(.{6})(?:\d+)(.{4})$/; // 匹配身份證號(hào)前6位和后4位的正則表達(dá)式
    const maskedIdCard = card.replace(reg, '$1******$2'); // 身份證號(hào)脫敏,將中間8位替換為“*”
    return maskedIdCard; // 輸出:371782******5896
}

4.姓名脫敏

function nameHide(name) {
    if (name.length == 2) {
        name = name.substring(0, 1) + '*'; // 截取name 字符串截取第一個(gè)字符,
        return name; // 張三顯示為張*
    } else if (name.length == 3) {
        name = name.substring(0, 1) + '*' + name.substring(2, 3); // 截取第一個(gè)和第三個(gè)字符
        return name; // 李思思顯示為李*思
    } else if (name.length > 3) {
        name = name.substring(0, 1) + '*' + '*' + name.substring(3, name.length); // 截取第一個(gè)和大于第4個(gè)字符
        return name; // 王五哈哈顯示為王**哈
    }
}

三:結(jié)尾 

脫敏處理是信息安全的重要手段,它可以有效保護(hù)敏感信息不被暴露。在JavaScript中,我們可以使用一些基本的脫敏處理方法。以上這些就是比較常見的方法,各位小伙伴可以根據(jù)自己的需求使用哦。當(dāng)然還有各種不同的情景,不過相信各位小伙伴可以通過上面的代碼寫出更適配你所需要的邏輯。

附前端js讓手機(jī)號(hào)脫敏的其他幾種方法

標(biāo)題手機(jī)號(hào)脫敏方法有幾種

      // 方法一:使用substring()方法
              let phoneNumberOne='19909091221';
              let desensitizationOne=phoneNumberOne.substring(0,3)+' **** '+phoneNumberOne.substring(7);
              // 方法二:使用substring()方法
              let phoneNumberTwo='19909091221';
              let desensitizationTwo=phoneNumberTwo.substr(0,3)+' **** '+phoneNumberTwo.substr(7);
              // 方法三:使用正則表達(dá)式方法
              let phoneNumberThree='19909091221';
              let regular=/(\d{3})\d*(\d{4})/
              let desensitizationThree=phoneNumberThree.replace(regular,'$1****$2');

              //總結(jié)一下區(qū)別:
              //  substring第一個(gè)參數(shù)是開始下標(biāo),第二個(gè)是結(jié)束下標(biāo)。
              //  substr第一個(gè)參數(shù)是開始下標(biāo),第二個(gè)是截取幾位。

到此這篇關(guān)于JS實(shí)現(xiàn)手機(jī)號(hào)脫敏、郵箱脫敏、身份證號(hào)脫敏、姓名脫敏等常見脫敏的文章就介紹到這了,更多相關(guān)JS常見脫敏手機(jī)號(hào)郵箱等內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論