JavaScript字符串常用API

String.prototype.slice()

slice()截取字符串的一部分,并返回这个新字符串

'my name is amz'.slice(11) // "amz" 传递2个参数,第一个参数是从什么位置开始裁剪,第二个参数是 截取到什么地方,如果没传递第二个参数,就默认裁剪到最后一位
'my name is amz'.slice(0,2) // 'my' 从第1位裁剪到第三位
'my name is amz'.slice(0,-1) // "my name is am"  两个参数都可以是负数, 负数参数相加原字符串的长度  也就是上面的意思是说 从第1位裁剪到'my name is amz'.length + -1的位置

String.prototype.split()

split()方法把字符串分割成数组
const amz = 'my name is amz'
amz.split()  //  ['my name is amz']
amz.split(' ', 2)  // ['m', ''y']  第二个参数是获取字符串的几位,分割成数组
amz.split('name')  // ["my ", " is amz"]   第一个参数是 拿掉字符串匹配的字符段 然后分割数组
amz.split('m')  // ["", "y na", "e is a", "z"]   第一个参数可以是正则表达式

String.prototype.replace()

replace()方法返回一个由替换值 替换一些匹配到的新字符串,

const amz = 'my name is amz‘
amz.replace(/amz/, '123') // 'my name is 123'
amz.replace('m', '123') //  '123y name is amz'

String.prototype.trim()

trim()清除字符串两端的空格

const amz = '  my name is amz  ‘
amz.trim()  // 'my name is amz'

String.prototype.charAt()

charAt()方法用于返回字符串指定位置的字符

'amz'.charAt() // 'a'  不传索引则默认为0
'amz'.charAt(1) // 'm' 

String.prototype.concat()

concat()将多个字符串拼接在一起

const a = 'aaa'
const b = 'bbb'
const c = 'ccc'.concat(a, b, 'ddd')
console.log(c) // 'cccaaabbbddd' 

  

String.prototype.indexOf()

indexOf()方法返回给定字符串在原字符串中首次出现的索引

const name = 'my name is amz'
name.indexOf('my n') //0   字符串可以给字符串
name.indexOf('y') // 1
name.indexOf('m', 6) //12     //第二个参数是从第几位开始找
name.indexOf('l') // -1 没找到返回-1

String.prototype.lastIndexOf()

lastIndexOf()方法返回给定字符串在原字符串中最后一次出现的索引

const name = 'my name is amz'
name.lastIndexOf('m') //12
name.lastIndexOf('m',7) //5 第二个参数是从第几位开始找,说白了 可以理解把name那个字符串从第七位截取,后面的不要了,
              //然后在应用一下name.lastIndexOf('m') ,
              //在理解一下,就是从第七位开始向前面找首次出现m的位置

String.prototype.search()

search()返回字符串在指定字符串首次出现的位置,如果没找到就返回-1

'my name is amz'.search('amz')  // 11
'my name is amz'.search('my') // 0
'my name is amz'.search(/amz/) // 11 也可以传正则表达式

 

String.prototype.toLocaleLowerCase()

toLocaleLowerCase()转化字符串为小写

const amz = 'my NAME is amz'
amz.toLocaleLowerCase()  //'my name is amz'
const amz1 = 'MY NAME IS AMZ' 
amz1.toLocaleLowerCase()  //my name is amz'

String.prototype.toLocaleUpperCase()

toLocaleUpperCase()将字符串转化为大写

const amz = 'my name IS amz'
amz.toLocaleUpperCase() // ''MY NAME IS AMZ

es6新增

  • String.prototype.includes():返回布尔值,表示是否找到了参数字符串。
  • String.prototype.startsWith():返回布尔值,表示参数字符串是否在原字符串的头部。
  • String.prototype.endsWith():返回布尔值,表示参数字符串是否在原字符串的尾部。
let s = 'Hello world!';

s.startsWith('Hello') // true
s.endsWith('!') // true
s.includes('o') // true

这三个方法都支持第二个参数,表示开始搜索的位置。

let s = 'Hello world!';

s.startsWith('world', 6) // true
s.endsWith('Hello', 5) // true
s.includes('Hello', 6) // false

上面代码表示,使用第二个参数n时,endsWith的行为与其他两个方法有所不同。它针对前n个字符,而其他两个方法针对从第n个位置直到字符串结束。

 

 

   String.prototype.padEnd()

padEnd()方法接受两个两个参数,第一个参数是目标字符串期望的长度,第二个参数是如果字符串长度没达到期望的长度就用第二个参数添加到目前字符串的尾部,使它达到期望的长度

‘abc’.padEnd(5) // 'abc  ' 如果第二个参数没有传,就会用空格代替
‘abc’.padEnd(2, 'amz') // 'abc' 如果期望长度小于目标字符串长度 那么就对目标字符串什么也不做,按照原来的返回
'abc'.padEnd(6, '123456') // 'abc123'

  String.prototype.padStart()

padStart()方法接受两个两个参数,第一个参数是目标字符串期望的长度,第二个参数是如果字符串长度没达到期望的长度就用第二个参数添加到目前字符串的前面,使它达到期望的长度

'abc'.padStart(6, '123456') // '123abc'

  String.prototype.repeat()

repeat方法返回一个新字符串,表示将原字符串重复n次。

'x'.repeat(3) // "xxx"
'hello'.repeat(2) // "hellohello"
'na'.repeat(0) // ""

参数如果是小数,会被取整。

'na'.repeat(2.9) // "nana"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值