JS-根据传入参数替换字符内指定位置的值
(可用于身份证或手机号隐藏部分数字)
/**
* @description 替换字符串内指定位置的值
* @param {Number|String} startPosition - 开始位置
* @param {Number|String} endPosition - 结束位置-该位置文本不做替换操作
* @param {String} originStr - 原始文本
* @param {String} replaceStr - 替换文本
* @return {String}
*/
function replaceStr({
startPosition = 0,
endPosition = 0,
originStr = "",
replaceStr = "",
}) {
if (originStr === "") {
throw new TypeError("请传入有效文本!");
}
if (typeof startPosition !== "number") {
startPosition = Number(startPosition);
}
if (typeof endPosition !== "number") {
endPosition = Number(endPosition);
}
if (typeof originStr !== "string") {
originStr += "";
}
if (typeof replaceStr !== "string") {
replaceStr += "";
}
let finalStr = "";
const repeatStrLength = endPosition - startPosition;
const middleStr = "".padEnd(repeatStrLength, replaceStr);
finalStr = `${originStr.slice(0, startPosition)}${middleStr}${originStr.slice(
endPosition
)}`;
return finalStr;
}// demo
const str = "helloworld";
const replaceStr = replaceStr({
startPosition: 2,
endPosition: 5,
originStr: str,
replaceStr: "*",
});
console.log(replaceStr);
//"he***world"
推荐阅读
- 记录iOS生成分享图片的一些问题,根据UIView生成固定尺寸的分享图片
- py连接mysql
- 运营是什么()
- ATAN2根据xy坐标计算角度
- 周检视5/14-5/21(第三周)
- Arcgis根据经纬度批量提取属性值
- 2018-11-29|2018-11-29 今早新闻| Chenie
- javascript|vue使用js-xlsx导出excel,可修改格子样式,例如背景颜色、字体大小、列宽等
- vue|vue js-xlsx导入导出excel文件Demo
- [记录]根据经纬度计算两点间的距离