JavaScript 實現敏感信息脫敏

JavaScript 實現敏感信息脫敏

銀行卡號脫敏

要在 JavaScript 中對銀行卡信息進行脫敏,可以使用字符串處理方法來替換敏感信息為特定的字符。以下是一個簡單的示例代碼,將銀行卡號的中間數字用 “*” 替換:

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);// 構造脫敏字符串,中間的數字用 "*" 替換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 中對姓名進行脫敏,可以根據實際需求采取不同的脫敏策略。以下是一個簡單的示例代碼,將姓名的后幾個字符替換為 “*”:

function desensitizeName(name) {// 獲取姓名長度const length = name.length;// 如果姓名長度小于等于1,則無需脫敏,直接返回原始姓名if (length <= 1) {return name;}// 取出第一個字符const firstChar = name.substring(0, 1);// 構造脫敏字符串,除了第一個字符外,其余字符都用 "*" 替換const desensitizedPart = "*".repeat(length - 1);// 組合成脫敏后的姓名const desensitizedName = firstChar + desensitizedPart;return desensitizedName;
}// 測試
const name = "張三";
const desensitizedName = desensitizeName(name);
console.log(desensitizedName); // 輸出: "張*"

手機號脫敏

要在 JavaScript 中對手機號進行脫敏,可以根據實際需求采取不同的脫敏策略。以下是一個簡單的示例代碼,將手機號的后四位用 “*” 替換:

function desensitizePhoneNumber(phoneNumber) {// 獲取手機號長度const length = phoneNumber.length;// 如果手機號長度小于等于7,則無需脫敏,直接返回原始手機號if (length <= 7) {return phoneNumber;}// 取出前三位const firstThree = phoneNumber.substring(0, 3);// 取出后四位const lastFour = phoneNumber.substring(length - 4);// 構造脫敏字符串,中間四位用 "*" 替換const middle = "*".repeat(length - 7);// 組合成脫敏后的手機號const desensitizedPhoneNumber = firstThree + middle + lastFour;return desensitizedPhoneNumber;
}// 測試
const phoneNumber = "13812345678";
const desensitizedPhoneNumber = desensitizePhoneNumber(phoneNumber);
console.log(desensitizedPhoneNumber); // 輸出: "138****5678"

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/13378.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/13378.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/13378.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

小白git

克隆 &#xff1a;git clone 鏈接地址 如果沒有.git文件的話&#xff1a;git init 切換分支&#xff1a;cd 目錄 拉代碼&#xff1a;git pull 查看你自己改了那些文件&#xff1a;git status 添加道本地暫存區&#xff1a;git add * 提交到遠端&#xff1a;git commit …

吳恩達深度學習筆記:優化算法 (Optimization algorithms)2.9-2.10

目錄 第二門課: 改善深層神經網絡&#xff1a;超參數調試、正 則 化 以 及 優 化 (Improving Deep Neural Networks:Hyperparameter tuning, Regularization and Optimization)第二周&#xff1a;優化算法 (Optimization algorithms)2.9 學習率衰減(Learning rate decay) 第二門…

HP5V80、HP5V105、HP3V28電比例驅動柱塞泵放大器

HP5V80、HP5V105、HP3V28、HP3V45、HP3V60、HP3V80、HP3V125、HP3V140帶電比例控制泵放大器&#xff0c;變排量泵的排量可通過由BEUEC比例放大器輸出到比例電磁閥電流變化而進行調整&#xff0c;控制電流范圍為300mA至800mA(24VDC)或600mA至1600mA(12VDC)。主要適合應用于工程機…

【聯通官網及APP注冊/登錄安全分析報告】

前言 由于網站注冊入口容易被黑客攻擊&#xff0c;存在如下安全問題&#xff1a; 暴力破解密碼&#xff0c;造成用戶信息泄露短信盜刷的安全問題&#xff0c;影響業務及導致用戶投訴帶來經濟損失&#xff0c;尤其是后付費客戶&#xff0c;風險巨大&#xff0c;造成虧損無底洞 …

「AI模型瘦身術」——知識蒸餾技術綜述

使用KD原因 遇到問題&#xff1a;從產業發展的角度來看工業化將逐漸過渡到智能化&#xff0c;邊緣計算逐漸興起預示著 AI 將逐漸與小型化智能化的設備深度融合&#xff0c;這也要求模型更加的便捷、高效、輕量以適應這些設備的部署。 解決方案&#xff1a;知識蒸餾技術 知識…

Logic Pro X for Mac v11.0.0激活版:專業音頻制作軟件

對于音樂創作者來說&#xff0c;一個穩定、高效的工作流程至關重要。Logic Pro X for Mac提供了一系列工作流程優化功能&#xff0c;讓你能夠更快捷、高效地完成音樂創作。從添加音軌、錄制音頻&#xff0c;到混音和編曲&#xff0c;每一個步驟都如絲般順滑。同時&#xff0c;L…

Maven 依賴排查

先從項目去看顯而易見&#xff0c;假如我們有一個項目&#xff0c;父工程中包含一些子工程&#xff0c;如下&#xff1a; 我們想看一下samples-account中的依賴關系&#xff0c;那么我們可以打開 samples-account的pom文件&#xff0c;查看其maven依賴關系圖。 我們可以看到此項…

Java測試框架:分享常用的Java測試框架,如JUnit, TestNG等,包括單元測試,集成測試,性能測試等

單元測試框架 JUnit JUnit簡介 JUnit是一個開源的Java測試框架,用于編寫和執行可重復的測試。它是Java開發人員的一個重要工具,用于進行單元測試、回歸測試和模塊化測試。JUnit提供了一種形式化的方式來編寫測試用例,并通過這些測試用例核實代碼的正確性。具有可預測的測試…

ARM 交叉編譯搭建SSH

一、源碼下載 zlib&#xff1a;zlib-1.3.1.tar.xz openssl&#xff1a;openssl-0.9.8d.tar.gz openssh&#xff1a;openssh-4.6p1.tar.gz 二、交叉編譯 1、zlib 編譯參考這里 2、openssl tar -xf openssl-0.9.8d.tar.gz ./Configure --prefix/opt/ssh/openssl os/compile…

android設計模式-builder模式

builder模式可以看成是鏈式調用&#xff0c;如&#xff0c;是builder不是那個bunder new AlertDialog.Builder(this) .setTitle("對話框") .setMessage("測試") .setIcon(R.mipmap.ic_launcher) …

2024年抖店保證金交多少?保證金常見問題解答,一文解決你所有疑惑

大家好&#xff0c;我是電商花花 新手如果想要開抖音小店&#xff0c;有一個大坑是必須要避開的。 就是我們店鋪開通之后&#xff0c;我們一定要交保證金&#xff0c;如果不交&#xff0c;那就是0元開店。 很多新手聽別人說做抖音小店可以0元開店&#xff0c;不用繳納保證金就…

Voronoi路徑規劃探索

系列文章目錄 提示:這里可以添加系列文章的所有文章的目錄,目錄需要自己手動添加 TODO:寫完再整理 文章目錄 系列文章目錄前言Voronoi圖的生成與更新Voronoi路徑規劃探索2.維諾圖Voronoi的生成--避障路徑Voronoi Planner一、生成與更新代價地圖costmap的方式二、生成與更新D…

開箱機選型“避坑”指南:風險識別與應對策略一網打盡

在現代化生產線上&#xff0c;開箱機作為關鍵設備之一&#xff0c;其選型過程的成功與否直接關系到生產效率與成本控制。然而&#xff0c;在選型過程中&#xff0c;往往會面臨諸多風險&#xff0c;如何有效識別并應對這些風險&#xff0c;成為企業關注的焦點。星派將為您詳細解…

JETBRAINS IDES 分享一個2099通用試用碼!DataGrip 2024 版 ,支持一鍵升級

文章目錄 廢話不多說上教程&#xff1a;&#xff08;動畫教程 圖文教程&#xff09;一、動畫教程激活 與 升級&#xff08;至最新版本&#xff09; 二、圖文教程 &#xff08;推薦&#xff09;Stage 1.下載安裝 toolbox-app&#xff08;全家桶管理工具&#xff09;Stage 2 : 下…

[解決方法]echarts地圖/圖表縮放,側邊欄導致樣式自適應問題

&#x1f50e;嘿&#xff0c;這里是慰慰&#x1f469;&#x1f3fb;?&#x1f393;&#xff0c;會發各種類型的文章&#xff0c;智能專業&#xff0c;從事前端&#x1f43e; &#x1f389;如果有幫助的話&#xff0c;就點個贊叭&#xff0c;讓我開心一下&#xff01;&#x1f…

百度Comate插件領50京東E卡

給你分享一個AI編碼助手——百度Comate&#xff01;掃碼參與抽紅包活動&#xff0c;520寵粉&#xff01;送京東卡&#xff01;https://url.xffjs.com/sMsP7m 流程如下 點擊&#xff1a;點我傳送 驗證碼登錄賬戶 點擊個人中心 復制License 去idea或者vscode安裝插件 詢問一…

Mysql的語句執行很慢,如何分析呢?

想象一下&#xff0c;MySQL像是一本巨大的電子相冊&#xff0c;里面存放著各種照片&#xff08;數據&#xff09;。當你想要找某張照片時&#xff0c;如果相冊沒有整理&#xff0c;你可能需要一張張翻看&#xff0c;這自然就慢了。但如果你給相冊里的照片分了類&#xff0c;貼上…

【Redis】Redis 主從集群(二)

1.哨兵機制原理 1.1.三個定時任務 Sentinel 維護著三個定時任務以監測 Redis 節點及其它 Sentinel 節點的狀態 1&#xff09;info 任務&#xff1a;每個 Sentinel 節點每 10 秒就會向 Redis 集群中的每個節點發送 info 命令&#xff0c;以獲得最新的 Redis 拓撲結構 2&#xff…

RabbitMQ的基本組件有哪些?

RabbitMQ的基本組件有哪些&#xff1f; RabbitMQ介紹、解耦、提速、削峰、分發 詳解、RabbitMQ安裝 可視化界面講解 RabbitMQ 不生產消息&#xff0c;他是消息的搬運工。 1. Producer: 消息的發布者。 2. Connection:producer/comsumer 和 Message Broker 之間的 TCP 連接。 3…

創建線程的方法(windows)

引用&#xff1a;windows程序員面試指南 windows上常用的創建線程的方法&#xff1a;CreateThread()&#xff0c;_beginthread()&#xff0c;std::thread 1.CreateThread() CreateThread 是 windows 提供的 api&#xff0c;用法如下&#xff1a; HANDLE CreateThread([in, …