js字符串函数substr替换使用技巧

本文介绍了如何使用JavaScript的substr方法来替换字符串中的特定部分,例如在处理电话号码和银行卡号时隐藏中间数字。通过指定开始和结束位置,可以轻松实现对敏感信息的屏蔽。示例展示了从第3位开始替换到第6位,用'****'替换,适用于电话号码的隐私保护。此外,还提供了计算替换位数的简单公式,方便根据需求调整。
摘要由CSDN通过智能技术生成

前言

最近在业务场景中有些电话号码、银行卡等信息需要将中间几位替换为*,自然的想到了substr

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

一、思路

我们从传入的参数有4个

/**
 * @param {string} str 原字符串
 * @param {number} start 开始替换的位置
 * @param {number} stop  停止替换的位置
 * @param {string} replace 替换的字符串
 */
const replaceStr = (str, start, stop, replace) => {
	return str.substr(0, start - 1) + replace + str.substr(stop)
}
replaceStr('测试abcd文字', 3, 6, '****') // 测试****文字

通过 substr 从 原字符串 中获取首位到开始替换位置前的字符串,接着加入替换的字符串,再通过 substr 获取 原字符串 停止替换后的其他字符串,组合返回。


二、运用

当电话号码需要隐藏中间4位时,我们便可以这样运用

function filterPhone(phone) {
	return replaceStr(phone, 4, 7, '****')
}
const myPhone = '1361234001'
filterPhone(myPhone) // 136****001

小白式使用方法

在使用时,不需要管下标是什么,怎么简单怎么来
通过这个公式

end - start + 1 = 替换多少位

只需知道从第几位开始替换,替换多少位就能推导停止替换的位置

例子: 从第6位开始,需要替换4位
end = 6 + 4 - 1
replaceStr(text, 6, 9, '****')
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白菜new

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值