在前端开发的过程中,我们会遇到客户提出来将电话号码进行加密的需求,避免信息泄露被盗。那下面我们就来说说js如果将获取到的手机号进行加密。

一般情况下我们通过调用后台接口获取到数据库的电话信息。然后我们通过四种方式可以对其进行加密。

第一种方法:

使用正则表达式来进行电话号码加密(也是我自己比较常用的方式)

var phone= 15845621523;  //获取到的电话信息
phone= "" + phone;
var reg=/(\d{3})\d{4}(\d{4})/; //正则表达式
var phone= phone.replace(reg, "$1****$2")
console.log(phone);

第二种方法:

使用split,splice,join 方法来进行电话号码加密

splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。

注释:该方法会改变原始数组。

split() 方法用于把一个字符串分割成字符串数组。

join() 方法用于把数组中的所有元素放入一个字符串。

var phone= 15845625621;
phone= "" + phone;
var ary = phone.split("");
ary.splice(3,4,"****");
var phone=ary.join("");
console.log(phone);

 第三种方法:

使用substr方法进行电话号码加密

substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符。

var phone =15865234562;
phone = "" + phone;
var phone= phone.substr(0,3) + "****" + phone.substr(7)
console.log(phone);

第四种方法:

使用substring方法进行电话号码加密

substring() 方法用于提取字符串中介于两个指定下标之间的字符。

var phone = 18810399133;
phone= "" + phone;
var phone=phone.replace(phone.substring(3,7), "****")
console.log(phone);