一、應用場景
在接口開發或數據處理過程中,經常會遇到需要處理手機號的情況,例如註冊、忘記密碼等業務場景。而手機號屬於敏感信息,為了保護用戶隱私,通常會對手機號進行脫敏處理。在JS中,常用的手機號脫敏方式有兩種:字符隱藏和替換星號(*)。
二、字符隱藏方式
字符隱藏即在手機號中間4位數字字符使用特定符號替換,常用的特定符號有「x」、「#」、「*」。以下是使用「x」進行隱藏的代碼示例:
function maskPhoneNumber(phoneNumber) { return phoneNumber.substr(0, 3) + "xxxx" + phoneNumber.substr(7); }
以上代碼中,使用substr()函數截取手機號前3位和後4位,中間使用「xxxx」進行替換。
另外,如果需要對多個手機號進行批量脫敏,可以採用循環遍歷的方式。
function maskPhoneNumbers(phoneNumbers) { var maskedNumbers = []; for (var i = 0; i < phoneNumbers.length; i++) { maskedNumbers.push(maskPhoneNumber(phoneNumbers[i])); } return maskedNumbers; }
三、替換星號方式
替換星號方式是將手機號中間4位數字替換成星號(*)。
function asteriskPhoneNumber(phoneNumber) { return phoneNumber.replace(/(\d{3})\d{4}(\d{4})/, '$1****$2'); }
以上代碼中,使用正則表達式匹配手機號前3位和後4位,中間替換成4個星號。
四、ES6實現
ES6提供了更簡單的語法糖,例如使用模板字符串來簡化代碼。
function asteriskPhoneNumber(phoneNumber) { return `${phoneNumber.substr(0, 3)}****${phoneNumber.substr(7)}`; }
以上就是ES6實現的替換星號方式的代碼示例。
五、總結
手機號脫敏是對用戶隱私的重要保護措施,常用的脫敏方式有字符隱藏和替換星號。在實際開發中,可以根據業務需求選擇適合的脫敏方式,並使用以上代碼示例進行實現。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/181568.html