(可用于身份证或手机号暗藏局部数字)
/** * @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;}// democonst str = "helloworld";const replaceStr = replaceStr({ startPosition: 2, endPosition: 5, originStr: str, replaceStr: "*",});console.log(replaceStr); //"he***world"