JavaScript實(shí)現(xiàn)敏感信息脫敏的示例代碼
銀行卡號脫敏
要在 JavaScript 中對銀行卡信息進(jìn)行脫敏,可以使用字符串處理方法來替換敏感信息為特定的字符。以下是一個簡單的示例代碼,將銀行卡號的中間數(shù)字用 "*" 替換:
function desensitizeCardNumber(cardNumber) {
// 獲取銀行卡號長度
const length = cardNumber.length;
// 如果銀行卡號長度小于等于4,則無需脫敏,直接返回原始銀行卡號
if (length <= 4) {
return cardNumber;
}
// 取出前四位
const firstTwo = cardNumber.substring(0, 2);
// 取出后四位
const lastFour = cardNumber.substring(length - 4);
// 構(gòu)造脫敏字符串,中間的數(shù)字用 "*" 替換
const middle = "*".repeat(length - 6);
// 組合成脫敏后的銀行卡號
const desensitizedCardNumber = firstTwo + middle + lastFour;
return desensitizedCardNumber;
}
// 測試
const cardNumber = "1234567890123456";
const desensitizedNumber = desensitizeCardNumber(cardNumber);
console.log(desensitizedNumber); // 輸出: "12**********3456"
姓名脫敏
要在 JavaScript 中對姓名進(jìn)行脫敏,可以根據(jù)實(shí)際需求采取不同的脫敏策略。以下是一個簡單的示例代碼,將姓名的后幾個字符替換為 "*":
function desensitizeName(name) {
// 獲取姓名長度
const length = name.length;
// 如果姓名長度小于等于1,則無需脫敏,直接返回原始姓名
if (length <= 1) {
return name;
}
// 取出第一個字符
const firstChar = name.substring(0, 1);
// 構(gòu)造脫敏字符串,除了第一個字符外,其余字符都用 "*" 替換
const desensitizedPart = "*".repeat(length - 1);
// 組合成脫敏后的姓名
const desensitizedName = firstChar + desensitizedPart;
return desensitizedName;
}
// 測試
const name = "張三";
const desensitizedName = desensitizeName(name);
console.log(desensitizedName); // 輸出: "張*"
手機(jī)號脫敏
要在 JavaScript 中對手機(jī)號進(jìn)行脫敏,可以根據(jù)實(shí)際需求采取不同的脫敏策略。以下是一個簡單的示例代碼,將手機(jī)號的后四位用 "*" 替換:
function desensitizePhoneNumber(phoneNumber) {
// 獲取手機(jī)號長度
const length = phoneNumber.length;
// 如果手機(jī)號長度小于等于7,則無需脫敏,直接返回原始手機(jī)號
if (length <= 7) {
return phoneNumber;
}
// 取出前三位
const firstThree = phoneNumber.substring(0, 3);
// 取出后四位
const lastFour = phoneNumber.substring(length - 4);
// 構(gòu)造脫敏字符串,中間四位用 "*" 替換
const middle = "*".repeat(length - 7);
// 組合成脫敏后的手機(jī)號
const desensitizedPhoneNumber = firstThree + middle + lastFour;
return desensitizedPhoneNumber;
}
// 測試
const phoneNumber = "13812345678";
const desensitizedPhoneNumber = desensitizePhoneNumber(phoneNumber);
console.log(desensitizedPhoneNumber); // 輸出: "138****5678"到此這篇關(guān)于JavaScript實(shí)現(xiàn)敏感信息脫敏的示例代碼的文章就介紹到這了,更多相關(guān)JavaScript敏感信息脫敏內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
關(guān)于字符串和對象互轉(zhuǎn)以及JSON.parse()的坑
這篇文章主要介紹了關(guān)于字符串和對象互轉(zhuǎn)以及JSON.parse()的坑及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-09-09
詳解釘釘小程序組件之自定義模態(tài)框(彈窗封裝實(shí)現(xiàn))
這篇文章主要介紹了釘釘小程序組件之自定義模態(tài)框(彈窗封裝實(shí)現(xiàn))的相關(guān)知識,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-03-03
微信小程序module.exports模塊化操作實(shí)例淺析
這篇文章主要介紹了微信小程序module.exports模塊化操作,結(jié)合實(shí)例形式簡單分析了module.exports模塊化的定義與引用相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2018-12-12
JS函數(shù)報(bào)錯Uncaught ReferenceError: XX is not
這篇文章主要介紹了JS函數(shù)報(bào)錯Uncaught ReferenceError: XX is not defined問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-10-10
js點(diǎn)擊事件的執(zhí)行過程實(shí)例分析【冒泡與捕獲】
這篇文章主要介紹了js點(diǎn)擊事件的執(zhí)行過程,結(jié)合實(shí)例形式分析了js事件機(jī)制中的冒泡與捕獲相關(guān)原理、操作技巧與注意事項(xiàng),需要的朋友可以參考下2020-04-04

