(可用于身份证或手机号暗藏局部数字)

/** * @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"