JS隐藏手机号中的四位数
在网页开发中,常常会遇到需要对手机号进行显示处理的情况。为了保护用户的隐私信息,有时我们会选择隐藏手机号中的部分数字,比如将手机号中间的四位数字用星号代替。本文将介绍如何使用JavaScript来隐藏手机号中的四位数字。
方法一:利用字符串截取和拼接
首先,我们可以将手机号视为一个字符串,然后利用字符串的截取和拼接方法来隐藏其中的四位数字。
function hidePhoneNumber(phoneNumber) {
if (phoneNumber.length != 11) {
console.log("请输入11位手机号");
return;
}
var hiddenNumber = phoneNumber.substr(0, 3) + "****" + phoneNumber.substr(7);
return hiddenNumber;
}
var phoneNumber = "13812345678";
var hiddenPhoneNumber = hidePhoneNumber(phoneNumber);
console.log(hiddenPhoneNumber); // 输出:138****5678
上面的代码定义了一个函数hidePhoneNumber
,该函数接受一个11位的手机号作为参数,然后将其中间四位数字替换为星号,最后返回隐藏后的手机号。当调用这个函数并传入手机号”13812345678″时,输出的结果为”138****5678″。
方法二:利用正则表达式
另一种方法是利用正则表达式来实现隐藏手机号中间四位数字的功能。
function hidePhoneNumber(phoneNumber) {
if (phoneNumber.length != 11) {
console.log("请输入11位手机号");
return;
}
var hiddenNumber = phoneNumber.replace(/(\d{3})\d{4}(\d{4})/, '1****2');
return hiddenNumber;
}
var phoneNumber = "13812345678";
var hiddenPhoneNumber = hidePhoneNumber(phoneNumber);
console.log(hiddenPhoneNumber); // 输出:138****5678
上面的代码中,我们定义了一个函数hidePhoneNumber
,利用正则表达式/(\d{3})\d{4}(\d{4})/
来匹配手机号中间的四位数字,并用”****”替换。调用这个函数同样会得到隐藏后的手机号”138****5678″。
方法三:结合两种方法
我们也可以结合方法一和方法二的思路,先用正则表达式将手机号字符串分割成三部分,再分别替换中间的四位数字。
function hidePhoneNumber(phoneNumber) {
if (phoneNumber.length != 11) {
console.log("请输入11位手机号");
return;
}
var reg = /(\d{3})(\d{4})(\d{4})/;
var hiddenNumber = phoneNumber.replace(reg, function(match, p1, p2, p3) {
return p1 + "****" + p3;
});
return hiddenNumber;
}
var phoneNumber = "13812345678";
var hiddenPhoneNumber = hidePhoneNumber(phoneNumber);
console.log(hiddenPhoneNumber); // 输出:138****5678
上面的代码中,我们定义了一个正则表达式/(\d{3})(\d{4})(\d{4})/
,利用match
和三个分组p1, p2, p3
来匹配手机号的前三位、中间四位和最后四位数字,并用”****”替换中间的四位数字。最终得到隐藏后的手机号”138****5678″。
通过以上三种方法,我们可以轻松地实现隐藏手机号中间四位数字的功能,保护用户隐私信息的同时也提高了页面的安全性。在实际开发中,可以根据具体需求选择适合的方法来处理手机号显示的问题。