翼度科技»论坛 编程开发 JavaScript 查看内容

记录--用js如何实现将手机号中间的几位数字变成****

7

主题

7

帖子

21

积分

新手上路

Rank: 1

积分
21
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助



今天,我们要实现一个很常见并且简单的功能:将手机号中间的几位数变成****

这个功能其实很常见,比如我们微信的账号安全里面显示的手机号、掘金的账号设置里面显示的手机号、支付宝里面的证件号码、各大银行的App卡号.....还有很多有关系到我们私密的地方,在此就不一一例举了,看似简单的功能,我们该如何实现呢?
其实实现的方法有很多,在这里作者将使用js的方式来实现,如有不正确或者需要修改的地方,请多多指教,有更好的方法也可以留言~
下面所使用到的方法,相信学习过javaScript的小伙伴们都非常熟悉,但是你还记得他们的用法嘛?下面作者会对使用到的方法进行简单回顾,不太记得的小伙伴要去回顾一下了呢~
好了,废话少说,开始进入正题。
1. 第一种,使用字符串和数组中常见的几个方法。字符串方法:split()。数组方法:splice(),join()。

在实现之前,我们先一起来回顾一下这几个方法:

  • split(): 将一个字符串拆分为一个子字符串数组,并返回该数组。
注释:该方法返回新数组,不会更改原始字符串。 注意:如果("")用作分隔符,则会对字符串进行逐个字符拆分。 www.w3school.com.cn/jsref/jsref…
下面是一个例子
  1. const str = “hello”
  2. let arr = str.split("");
  3. console.log(arr); // h,e,l,l,o
复制代码

  • splice():方法向数组添加或从数组中删除项目,并返回删除的项目。
注释:splice() 该方法会改变原始数组。www.w3school.com.cn/jsref/jsref…
下面是一个例子:
  1. const arr = ["a","b","c","d"];
  2. arr.splice(1,2,"e","gg","d"); //从数字索引的第一位开始,删除两个内容,向数组添加”e“和”gg“两项。
  3. console.log(arr); // ["a","e","gg","d"];
复制代码

  • join():将数组作为一个字符串返回。元素将由指定的分隔符分隔。默认分隔符是逗号 (,)。
注释:join()该方法不会改变原数组
下面是一个例子:
  1. const arr = ['a','b','c','d'];
  2. let result = arr.join();
  3. console.log(result); // a,b,c,d
复制代码
实现功能:
  1. const telphone = '13300009999';
  2. let telArr = telphone.split();
  3. telArr.splice(3,4,'****');
  4. let result = telArr.join(); //因为不会改变原数组,需要用一个新的变量去接收
  5. console.log(result); // 1330****999
复制代码
2.第二种,利用字符串的substr()


  • substr():该方法用于提取字符串的一部分。该方法从指定位置开始,并返回指定数量的字符。
注释:substr() 方法不会更改原始字符串。 下面是一个例子:
  1. const str = 'Hello World';
  2. let result = str.substr(1,4);
  3. console.log(result); //ello
复制代码
实现功能:
  1. const telphone = '13300009999';
  2. let result = telphone.substr(0,4) + '****' + telphone.substr(8);
  3. console.log(result);// 1330****999
  4. //第二句代码解释:
  5. //使用 `substr` 方法截取电话号码的前四位,然后拼接上'****',
  6. //再拼接上电话号码从索引为8开始的剩余部分,将结果赋值给变量result。
复制代码
3.第三种,利用字符串的substring()和replace();


  • substring():该方法用于从字符串中提取指定的索引(位置)之间的字符,并返回子字符串。 注释:substring() 方法不会更改原始字符串。 下面是一个例子:
  1. const str = 'Hello World';
  2. let result = str.substring(1,4);
  3. console.log(result); //ell
复制代码

  • replace():该方法在字符串中搜索值或正则表达式;该方法返回已替换值的新字符串。
注释:replace() 方法不会更改原始字符串。 下面是一个例子:
  1. const str = 'Hello World';
  2. let result = str.replace("Hello","Hi");
  3. console.log(result); //Hi World
复制代码
实现功能:
  1. const telphone = '13300009999';
  2. let result = telphone.replace(telphone.substring(3,8),'****');
  3. console.log(result);// 1330****999
复制代码
上述的replace()提到了正则表达式,那么我们也可以使用正则表达式来实现www.w3school.com.cn/jsref/jsref… www.w3school.com.cn/js/js_regex…

  • /d:查找数字
  • 1,1,1,2,...,$99:与正则规则中的第1到第99个子表达式相匹配的文本。

实现功能:
  1. const telphone = '13300009999';
  2. const reg = /(\d{4})\d{4}(\d{3})/;
  3. let result = telphone.replace(reg,"$1****$2");
  4. console.log(result);// 1330****999
复制代码
本文转载于:

https://juejin.cn/post/7271058595444752443

如果对您有所帮助,欢迎您点个关注,我会定时更新技术文档,大家一起讨论学习,一起进步。

 


来源:https://www.cnblogs.com/smileZAZ/p/17707032.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具