JavaScript字符串API

String.prototype.anchor()

anchor()方法用于创建一个html描元素

1
2
const str = '我是html内容'.anchor('我是name属性值')
console.log(str) // "<a name="我是name属性值">我是html内容</a>"
String.prototype.bold()

bold()方法用于创建html元素

1
2
const str = 'aaa'.bold()
console.log(str) // "<b>aaa</b>"
String.prototype.charAt()

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

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

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

1
2
3
4
const a = 'aaa'
const b = 'bbb'
const c = 'ccc'.concat(a, b, 'ddd')
console.log(c) // 'cccaaabbbddd' hs
String.prototype.endsWith()

endsWith()方法用于判断当前字符串是否以另一个给定字符串结尾

1
2
3
4
5
const name = 'my name is amz' 
name.endsWith('z') // true
name.endsWith('mz') // true
name.endsWith('amz') // true
name.endsWith('is') // falsejs
String.prototype.startsWith()

startsWith()判断当前字符串是否是以另外一个给定的子字符串开头

1
2
3
const amz = 'my name is amz'
amz.startsWith('my n') //true
amz.startsWith('amz', 11) // true 第二个参数是从哪里开始
String.prototype.includes()

includes()判断一个字符串是否包含在另一个字符串中

1
2
3
4
const name = 'my name is amz' 
name.includes('amz') //true
name.includes('s amz') //true
name.includes('you') // false
String.prototype.indexOf()

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

1
2
3
4
5
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()方法返回给定字符串在原字符串中最后一次出现的索引

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

link()方法用于创建一个html标签

1
‘my name is amz’.link('www.p8p7.com')  // <a href="www.p8p7.com">my name is amz</a>
String.prototype.padEnd()

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

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

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

1
'abc'.padStart(6, '123456') // '123abc'
String.prototype.repeat()

repeat()方法用于把字符串重复n次,n就是传递进去的参数

1
2
3
4
'amz'.repeat(3.5)  //'amzamzamz'  小说会转化成整数 向下取整
'amz'.repeat(0) // ‘’ 重复0次就成了空字符串了
'amz'.repeat(1) // 'amz' 重复1次
'amz'.repeat(2) // 'amzamz' 重复2次

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

1
2
3
'my name is amz'.search('amz')  // 11
'my name is amz'.search('my') // 0
'my name is amz'.search(/amz/) // 11 也可以传正则表达式
String.prototype.slice()

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

1
2
3
'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()
1
2
3
4
5
6
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.substr()

substr()方法返回从指定位置开始 到指定数量的字符串

1
2
3
4
const amz = 'my name is amz'
amz.substr(3) // 'name is amz'
amz.substr(-3) // 字符串长度+ -3 ‘amz’
amz.substr(1, 2) // 'am' 第二个参数是几位

如果开始位置也就是第一个字符串大于字符串长度,则返回一个空字符串 第二个位置超出了字符串剩余长度,则默认为字符串剩余长度。为负数则是字符串长度加负数,也就是说比如我第一个参数为-1 那么我剩余字符串长度是1了,最多只能复制一个长度为1的字符串,第二个值大于1都默认转化为1

String.prototype.substring()

substring()返回字符串从开始索引到结束索引之间的一个子集

也就是提取从substring()第一个参数到第二个参数的 子字符串,参数均为整数,小于0都会被转化为0 ,如果大于字符串长度都会被转化为字符串长度 如果第二个参数大于第一个参数,则会默认吧两个参数位置调换

1
2
3
const amz = 'my name is amz'
amz.substring(1,4) // 'y n' 从第一位截取第四位
amz.substring(4,1) // 'y n' 因为第二个参数大于第一个参数,则默认调换她们的位置 所以还是从第一位截取第四位
String.prototype.toLocaleLowerCase()

toLocaleLowerCase()转化字符串为小写

1
2
3
4
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()将字符串转化为大写

1
2
const amz = 'my name IS amz'
amz.toLocaleUpperCase() // ''MY NAME IS AMZ
String.prototype.toUpperCase()

toUpperCase()和oLocaleUpperCase()方法一样

1
2
const amz = 'my name IS amz’
amz.toUpperCase() // ''MY NAME IS AMZ
String.prototype.toString()

toString()反回指定对象的字符串形式

1
2
const amz = 'my name is amz‘
amz.toString() // 'my name is amz'
String.prototype.trim()

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

1
2
const amz = '  my name is amz  ‘
amz.trim() // 'my name is amz'
String.prototype.trimLeft()

trimLeft()方法清除字符串左边的空格

String.prototype.trimRight()

trimRight()方法清除字符串右边的空格

String.prototype.replace()

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

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

可以是正则表达式匹配 也可以是字符串匹配