常用js字符串操作大全

186 阅读3分钟

1.length 计算字符串长度

     'abc'.length
     //3

2.查找字符串

1.indexOf() 返回字符串首次出现返回的索引 如果没有则返回-1

     'abc'.indexOf('b')
     //1
     'abc'.indexOf('d')
     //-1

2.lastIndexOf() 返回字符串最后一次出现时候的索引 如果没有则返回-1

   'abcdabc'.lastIndexOf('a')
   //4
    'abcdabc'.lastIndexOf('f')
    //-1

3.search() 返回字符串首次出现返回的索引 如果没有则返回-1

   'abc def gsg'.search('gsg')
   //8
   'abc def gsg'.search('abcd')
   //-1
*ES6新增三个查找字符串方法includes(),startsWith(),endsWidth()

4.includes(字符串,从多少位开始)返回布尔值,是否包含该字符串

   'abc'.includes('a',1)
   //true
    'abc'.includes('d',1)
   //false

5.startsWith(字符串,从多少位开始)返回布尔值,表示参数字符串是否在源字符串的头部。

   'abc'.startsWith('a',1)
   //true
    'abc'.startsWith('c',2)
   //true
   'abc'startsWith('b',1)
   //false

6.endsWith(字符串,从多少位开始)返回布尔值,表示参数字符串是否在源字符串的尾部。

   'abc'.endsWidth('c',1)
   //true
   'abc'.endsWith('a',1)
   //false

3.截取字符串

1.slice(开始位置,结束位置) 提取字符串的某个部分并在新字符串中返回被提取的部分

   'abcdf'.slice(1,3) //左闭右开合[1,3)包含1但不包含3
   //'bc'
   //如果某个参数为负,则从字符串的结尾开始计数。
    'abcdf'.slice(-3,-1) //[-3,-1)
    //'cd'

2.substring() 类似于slice(),但是substring()无法实现负数索引

   'abcd'.substring(1,3) //左闭右开合[1,3)包含1但不包含3
   //'bc'

3.substr(开始位置,要取多少个)

   'abcd'.substr(1,3)//从索引为1的下标开始向后取3位
   //'bcd'
   'abcd'.substr(-3,3) //为负数则从尾部开始计算
   //'bcd'

4.替换字符串

1.replace()用一个值替换字符串中的指定的值 该方法不会改变原来的字符串,而是新增了一个字符串

   'abcd'.replace('ab','cd')
   //'cdcd'

2.repeat(n)重复n遍字符串 ES6新方法

   'ab'.repeat(3)
   //'ababab'
   //如果是小数点就取整
   'ab'.repeat(2.9)
   //'abab'

3.padStart(n,字符串) 头部补全 padEnd(n,字符串)尾部补全,一共接受两个参数,第一个参数用来指定字符串的最小长度,第二个参数是用来补全的字符串。

   'abc'.padStart(5,'x')
   //'xxabc'
   //1.padStart的常见用途是为数值补全指定位数。下面代码生成10位的数值字符串。
    '1'.padStart(10,'0')
    //'0000000001'
    //2.另一个用途是提示字符串格式。
    '12'.padStart(8,'yy-mm-dd')
    //"yy-mm-12"
    '05-12'.padStart(10,'yyyy-mm-dd')
    //'yyyy-05-12'
   'abc'.padEnd(5,'x')
   //'abcxx'

5.大小写转换

1.toUpperCase() 把字符串转换为大写

   'abc'.toUpperCase()
   //'ABC'

2.toLowerCase() 把字符串转换为小写

   'ABC'.toLowerCase()
   //'abc'

6.字符串连接

1.concat() 可以连接两个或者多个字符串

    'abc'.concat('fds')
    //'abcfds'
    'abc'.concat('123','wer')
    //"abc123wer"

2.反引号${} 连接符

   let a='我'
   let b=`${a}是程序员`
   console.log(b)
   //'我是程序员'

7.清空字符串

1.trim() 清楚字符串两端空格

    '   abccde   '.trim()
    //'abccde'
    警告:Internet Explorer 8 或更低版本不支持 trim() 方法。

8.把字符串转换成数组

1.split(分隔符)将字符串组转换成数组

   'a,b,c'.split(',')
   //['a','b','c']
   'a|b|c'.split("|")
   //['a','b','c']

9.遍历字符串for...of

1.for(let i of 'abc'){} 这是es6出的新方法 可以编列字符串和数组

    for(let i of 'abc'){
      console.log(i)
      //'a'
      //'b'
      //'c'
    }