如何利用JS将手机号中间四位变成*号
作者:金小壮 发布时间:2024-02-23 20:07:51
标签:js,手机号,号
前言:无意间留意到一个面试题,需求是利用js将手机号中间四位变成*号,简单记录一下。
1. 利用字符串的substr方法 substr() 方法返回一个字符串中从指定位置开始到指定字符数的字符。
语法:str.substr(start[, length])
参数
start:开始提取字符的位置。
length:可选。提取的字符数。
var tel = 15617076160;
tel = "" + tel;
var newTel = tel.substr(0,3) + "****" + tel.substr(7)
console.log(newTel);//156****6160
2. 利用字符串的substring方法 substring() 方法返回一个字符串在开始索引到结束索引之间的一个子集, 或从开始索引直到字符串的末尾的一个子集。
语法:str.substring(indexStart[, indexEnd])
参数
indexStart:需要截取的第一个字符的索引,该索引位置的字符作为返回的字符串的首字母。
indexEnd:可选。一个 0 到字符串长度之间的整数,以该数字为索引的字符不包含在截取的字符串内。
var tel = 15617076160;
tel = "" + tel;
var newTel =tel.replace(tel.substring(3,7), "****")
console.log(newTel);//156****6160
3. 利用数组splice方法
splice() 方法通过删除或替换现有元素或者原地添加新的元素来修改数组,并以数组形式返回被修改的内容。此方法会改变原数组。
语法:array.splice(start[, deleteCount[, item1[, item2[, …]]]])
参数
start:指定修改的开始位置(从0计数)。
deleteCount :可选,整数,表示要移除的数组元素的个数。
item1, item2, … 可选,要添加进数组的元素,从start 位置开始。
返回值
由被删除的元素组成的一个数组。如果只删除了一个元素,则返回只包含一个元素的数组。如果没有删除元素,则返回空数组。
var tel = 15617076160;
tel = "" + tel;
var ary = tel.split("");
ary.splice(3,4,"****");
var newTel=ary.join("");
console.log(newTel);//156****6160
4. 利用正则表达式
var tel = 15617076160;
tel = "" + tel;
var reg=/(\d{3})\d{4}(\d{4})/;
var newTel = tel.replace(reg, "$1****$2")
console.log(newTel);//156****6160
来源:https://blog.csdn.net/dairen_j/article/details/108818752


猜你喜欢
- 我们知道,TypeScript 支持 infer 来提取类型的一部分,通过模式匹配的方式。模式匹配比如元组类型提取最后一个元素的类型:typ
- 我们新建一个DataBase project,然后建立一个UserDefinedFunctions,Code像这样: 1: /// <
- 前言之前缺乏移动端的经验。一直不知道上拉加载,下拉刷新是怎么实现的。现在正好有个产品有这样一个需求。想了一会没有思路。就去找插件。啥vue-
- 很多SQL Server程序员对子查询(subqueries)的使用感到困惑,尤其对于嵌套子查询(即子查询中包含一个子查询)。现在,就让我们
- 目录前言解决方案工具介绍工作原理使用限制使用注意使用示例部分参数说明输出结果示例腾讯云数据库 MySQL 使用注意总结一下前言写作案例分析,
- 本文实例讲述了python执行等待程序直到第二天零点的方法。分享给大家供大家参考。具体分析如下:如果需要通过python每天凌晨定时执行执行
- 读取和存储dict()与.json格式文件读取.json格式文件并将数据保存到字典中数据文件:hg.json{"商家名称"
- js判断undefined类型今天使用showModalDialog打开页面,返回值时。当打开的页面点击关闭按钮或直接点浏览器上的关闭则返回
- 问题你想创建一个内嵌变量的字符串,变量被它的值所表示的字符串替换掉。解决方案Python并没有对在字符串中简单替换变量值提供直接的支持。 但
- 数据修改主要以增删改差为主,这里比较几种写法在数据处理时间上的巨大差别。数据量大概是500万行级别的数据,文件大小为100M。1.iloci
- 如何用ASP输出HTML文件?<!--#include file="top.inc"--><
- 许多人也许会注意到一个现象,那就是在一些现代编程语言(当然,并不是指“最近出现”的编程语言)中,自增
- 形态学处理,除了最基本的膨胀、腐蚀、开/闭运算、黑/白帽处理外,还有一些更高级的运用,如凸包,连通区域标记,删除小块区域等。1、凸包凸包是指
- 使用Python的内置方法dir,可以范围一个模块中定义的名字的列表。官方解释是:Docstring:dir([object]) ->
- 本文实例讲述了Django框架文件上传与自定义图片上传路径、上传文件名操作。分享给大家供大家参考,具体如下:文件上传1、创建上传文件夹在st
- MySQL是一个关系型数据库管理系统,官方网站是http://www.mysql.com/,分为MySQL Enterprise Editi
- 语言更新时每一个新增的特性都是从千百万开发者需求里提取过来的,规范采用后能减少程序员的痛苦,带来便捷。我们经常会这么写function ca
- 前记在Python3.7后官方库出现了contextvars模块, 它的主要功能就是可以为多线程以及asyncio生态添加上下文功能,即使程
- 前言最近一个项目需要iOS和安卓使用一个二维码,让扫描的机器自己识别操作系统实现跳转到相应的下载链接。比如iPhone用微信进行扫描就让他跳
- 这是一款非常轻量级的纯原生JS的瀑布流插件——Macy.js,如今图片和视频网站非常多,非常适应瀑布流这样的布局方式来呈现给用户。这款流布局