项目常用JS方法封装(三) [ 字符串相关处理 ]

1,699 阅读2分钟

持续更新中...

封装方法传送门:


使用方法非常简单,只需放到你的 utils.js 工具文件中,直接 export const 加上我的封装方法,在别的文件中使用{方法1,方法2,方法3...}引用后就可以直接使用了!

001.字符替换

可以替换任意数字和符号

/**
*   str 表示将要替换的字符串
*   l 表示你将要替换的字符
*   r 表示你想要替换的字符
*/
transFormat = (str, l, r) => {
    let reg = new RegExp(l, 'g') // g表示全部替换,默认替换第一个
    str = str.replace(reg, r)
    return str
}

console.log(transFormat('2019-12-13', '-', '/')); // 2019/12/13
console.log(transFormat('2019-12-13', '-', '')); // 20191213

002.在字符串指定位置插入字符

/**
*   character 原字符串(String)
*   site 要插入的字符的位置 (Number)
*   newStr 想要插入的字符 (String)
*/
insertStr = (character, site, newStr) => {   
  return character.slice(0, site) + newStr + character.slice(site);
}

console.log(insertStr('20191217',4,'-'));   // 2019-1217

003.字符串反转处理分割

/**
*   str 是你将要进行处理的字符串(String)
*   under 是你根据什么字符处理(String)
*   event 是你根据什么字符把处理结果分割(String)
*/
keyCharacterMap = (str,under,event) => {
  return str.split(under).reverse().join(event)
}

console.log(keyCharacterMap('hello world','',''));  //  dlrow olleh
console.log(keyCharacterMap('hello world',' ','-'));  //  world-hello

004.截取指定字符之前之后的字符串

//  截取指定字符之前的字符串
beforeStrSub = (str, char) => {
  return str.split(char)[0]
}

//  截取指定字符之后的字符串
afterStrSub = (str, char) => {
  return str.split(char)[1]
}

//  测试数据
let str = 'abc:de;fghi.jk';
console.log(beforeStrSub(str, ';'));  // abc:de
console.log(afterStrSub(str, 'f'));   // ghi.jk

005.截取指定字符之间的字符串

/**
*   str 要截取的字符串 (String)
*   start 字符串截取的开始位置 (String)
*   end 字符串截取的结束位置 (String)
*/
betweenStrSub = (str, start, end) => {
  temp = str.split(start, 2);
  content = temp[1].split(end, 2);
  return content[0];
}

//  测试数据
let str = 'abc:de;fghi.jk';
console.log(betweenStrSub(str, ':', '.'));  // de;fghi
console.log(betweenStrSub(str, 'bc', 'k'));  // :de;fghi.j
console.log(betweenStrSub(str, ':', 'k'));   // de;fghi.j

006.字符串反转

/**
 *  str 要反转的字符串
 */
strInversion = str => { 
  str = str + ''; 
  let newStr=[]; 
  newStr=str.split("").reverse().join(""); 
  return newStr
}

//  测试数据
console.log(strInversion("I Love You!"));   // !uoY evoL I

007.在字符串中查找指定的字符或者字符串

/**
 * str 将要查找的字符串
 * queryStr 想要在字符串中查找的字符或字符串
 * 
 * 如果在字符串中有这个字符或者字符串,返回1,否则返回-1
 */
judgeStrHave = (str,queryStr) => {
  return str.indexOf(queryStr) === -1?-1:1
}

//  测试数据
let str = "ab66a0cc-25b4-44ab-9e17-5043d4fb9056_200×200";
console.log(judgeStrHave(str,'×'));