String.prototype.match()

  • 根据传入的正则表达式的检索字符串并返回结果

  • 语法:

    1
    
    str.match(regexp)
    
  • 例子

    1
    
    
    

String.prototype.search()

  • 根据传入的正则表达式寻找符合的字符位置

  • 语法

    1
    
    str.search(regexp)
    
  • 如果匹配,则返回首次匹配项的索引;反之返回-1

  • 例子:

    1
    2
    3
    
    const str = 'hello World'
    str.search(/[A-Z]/g)// 6
    str.search(/[.]/g)// -1
    

String.prototype.chatAt()

  • 从一个字符串中返回指定index的字符

  • 语法

    1
    
    str.chartAt(index)
    

    若没有提供index,则默认使用0

  • 例子

    1
    2
    
    const str = 'ABCD'
    str.charAt(1)// "B"
    

String.prototype.indexOf()

  • 查询字符串对象中第一次出现指定值的索引

  • 语法:

    1
    
    str.indexOf(searchValue, fromIndex)
    

    fromIndex可选,表示开始查找的位置,默认为0,若指定为负数,则等价于传入0;若大于str.length,则必反回-1

    indexOf区分大小写

  • 若传入的字符串为空,返回值则取决于fromIndex

    1
    2
    3
    
    "Hello World".indexOf('',-1)// 0
    "Hello World".indexOf('',9)// 9
    "Hello World".indexOf('',100)// 11 (str.length)
    
  • 例子:

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    
    // 检测是否存在某字符串
    "Hello World".indexOf('World')// 6
    
    // 使用indexOf统计一个字符串中某个字母出现的次数
    const str = 'Hello,my name is gsemir.'
    const count = 0
    const pos = str.indexOf('e')
    
    while(pos !== -1){
    	count ++
    	pos = str.indexOf('e', pos+1)
    }
    console.log(count)// 3
    

String.prototype.lastIndexOf()

  • 返回指定值最后一次出现的索引,没找到返回-1

  • 语法:

    1
    
    str.lastIndexOf(searchStr, fromIndex)
    

    fromIndex可选,默认为无穷大,表示从fromIndex的位置向左回向查找

    fromIndex<0,则等同于fromIndex==0

    此方法区分大小写

  • 例子:

    1
    2
    3
    4
    5
    
    'cancel'.lastIndexOf('c')// 3
    'cancel'.lastIndexOf('c', 2)// 0
    'cancel'.lastIndexOf('c', 0)// 0
    'cancel'.lastIndexOf('c', -1)// 0
    'cancel'.lastIndexOf('')// 6 可以用这个获取字符串长度哦
    

String.prototype.concat()

  • 将字符串连接合并

  • 语法

    1
    
    str.concat(str2,str3,...)
    
  • 返回一个新字符串

  • 例子

    1
    2
    
    const str = 'HELLO'
    str.concat('','World')// HELLO WORLD
    

String.prototype.repeat()

  • 指定次数复制字符串

  • 语法

    1
    
    str.repeat(count)
    
  • 例子

    1
    
    'abc'.repeat(2)// 'abcabc'
    

String.prototype.endsWith()

  • 判断字符串是否是以指定字符串结尾的返回boolean

  • 语法:

    1
    
    str.endsWith(searchStr, length)
    

    length可选,作为str的长度,默认值为str.length

    区分大小写

  • 例子

    1
    2
    3
    4
    
    const str = 'hello world'
    str.endsWith('hello')// false
    str.endsWith('world')// true
    str.endsWith('WORLD')// false
    

String.prototype.startsWith()

  • 判断字符串是否是以指定字符串开头的返回boolean

  • 语法:

    1
    
    str.startsWith(searchStr, position)
    

    position可选,开始搜索的位置,默认值为0

    区分大小写

  • 例子

    1
    2
    3
    4
    
    const str = 'hello world'
    str.startsWith('hello')// true
    str.startsWith('world')// false
    str.startsWith('HELLO')// false
    

String.prototype.includes()

  • 判断指定字符串是否包含在另一个字符串中

  • 语法:

    1
    
    str.includes(searchStr, position)
    

    position可选,搜寻的起始索引,默认0

    区分大小写

  • 例子

    1
    2
    3
    4
    
    const str = 'hello, my name is gsemir'
    str.includes('hello',1)// false
    str.includes('my')// true
    str.includes('MY')// false
    

String.prototype.valueOf()

  • 返回一个String对象的原始值,等同于String.prototype.toString()

    1
    2
    
    const x = new String('Hello World')
    x.valueOf()// "Hello World"
    

String.prototype.toString()

  • 万物皆可变成String,如果对象是字符串对象,则返回结果与.valueOf()一致

String.prototype.subString()

  • 截取并返回字符串中的一部分

  • 语法:

    1
    
    str.subString(startIndex, endIndex)
    

    endIndex可选,默认为str.length+1

    结果中不包含endIndex处的字符

    • startIndex大于endIndex,则相当于两数调换
    • 若两数相等,返回空字符串
    • 若任一参数小于0,则被当作0
  • 例子:

    1
    2
    3
    4
    
    const str = 'abcdefg'
    str.subString(0, 3)// 'abc'
    str.subString(3, 0)// 'abc'
    str.subString(3, -3)// 'abc'
    

String.prototype.slice()

  • 提取字符串某一部分

  • 语法:

    1
    
    str.slice(beginIndex,endIndex)
    

    beginIndex若为-3,则看作是strLength - 3

    endIndex可选,若为空,则是为末尾;若为-3,则看作是strLength - 3

  • 返回一个从原字符串提取出来的新字符串

  • 例子

    1
    2
    3
    
    const str = 'ABCDEFGHIJKLMNOP'
    str.slice(4, -2)// "EFGHIJKLMN"
    str.slice(33) // ''
    

String.prototype.replace()

  • 内容过多

String.prototype.split()

  • 使用指定的分割字符将一个String对象分割成子字符串数组

  • 例子

    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    const str = 'ABCDEFGHIJKLMNOP'
    str.split('')
    // ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P"]
    str.split('',3)
    // ["A","B","C"]
    str.split(',')
    // ["ABCDEFGHIJKLMNOP"]
    str.split('F')
    // ["ABCDE", "GHIJKLMNOP"]
    

String.prototype.trim()

  • 删除两端空白字符

  • 语法:

    1
    
    str.trim()
    
  • 返回一个两端去掉空白的新字符串,不影响原字符串本身

  • 例子:

    1
    2
    
    const originStr = ' foo '
    originStr.trim()// 'foo'