JavaScript字符串的方法(最全)

JavaScript字符串的方法

注意:字符串是 JavaScript 的一种基本的数据类型
String 类定义了大量操作字符串的方法,例如从字符串中提取字符或子串,或者检索字符或子串。
需要注意的是:JavaScript 的字符串是不可变的(immutable),String 类定义的方法都不能改变字符串的内容。像 String.toUpperCase() 这样的方法,返回的是全新的字符串,而不是修改原始字符串。

charAt()

charAt() 方法可返回字符串中指定位置的字符。
语法:string.charAt(index)
index为 必需值,表示字符串中某个位置的索引值,即字符在字符串中的位置。

    let str = '12222'
    console.log(str.charAt(2))//2

charCodeAt()

charCodeAt() 方法返回字符串中指定索引的字符 unicode 编码。
语法:charCodeAt(index)

    let str1 = '123456723811' 
    console.log(str1.charCodeAt(3))// 52

concat()

concat() 方法用于连接两个或多个字符串。该方法没有改变原有字符串,但是会返回连接两个或多个字符串新字符串。
语法:string.concat(string1, string2, …, stringX)
string1, string2, …, stringX 必需值,将被连接为一个字符串的一个或多个字符串对象。

    let str1 = '1'
    let str2 = '12'
    let str3 = '122'
    console.log(str1.concat(str2,str3))//112122

indexOf() lastIndexOf()

indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的索引位置。
lastIndexOf() 返回指定文本在字符串中最后一次出现的索引。
如果没有找到匹配的字符串则返回 -1。
语法:string.indexOf(searchvalue,start) string.lastIndexOf(searchvalue,start)
searchvalue 必需值,为规定需检索的字符串值。start 可选的整数参数为规定在字符串中开始正向或反向检索的位置。它的合法取值是 0 到 string Object.length - 1。如省略该参数,则将从字符串的首字符开始检索。

    let str1 = '12345678'
    console.log(str1.indexOf(7,3))//6
    let str1 = '123456723811' 
    console.log(str1.lastIndexOf('23'))// 7
    console.log(str1.lastIndexOf('23',5))// 1

includes()

includes() 方法用于判断字符串是否包含指定的子字符串,找到后返回首个出现的初始索引值。如果没有找到返回-1。
语法:string.includes(searchvalue, start)
searchvalue 必需值为要查找的字符串。start 可选值,设置从哪个位置开始查找,默认为 0。

    let str1 = '1234567811'
    console.log(str1.includes('34'))//true
    console.log(str1.includes('34',5))//false

match()

match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。
语法:string.match(regexp)
regexp 必需,为规定要匹配的模式的 RegExp 对象。如果该参数不是 RegExp 对象,则需要首先把它传递给 RegExp 构造函数,将其转换为 RegExp 对象。

    let str1 = '1234567811'
    console.log(str1.match(/1/g))// ['1', '1', '1']

repeat()

repeat() 方法字符串复制指定次数。
语法:string.repeat(count)
count 必需,为要复制的次数。

    let str1 = '1234567811'
    console.log(str1.repeat(10))//1234567811123456781112345678111234567811123456781112345678111234567811123456781112345678111234567811

replace()

replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
语法:string.replace(searchvalue,newvalue)
searchvalue 必须。规定子字符串或要替换的模式的 RegExp 对象。
请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象。
newvalue 必需。一个字符串值。规定了替换文本或生成替换文本的函数。

    let str1 = '1234567811'
    console.log(str1.replace(1,2))//2234567811
    console.log(str1.replace(/1/g,2))//2234567822

replaceAll()

replaceAll() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串,该函数会替换所有匹配到的子字符串。语法同replace方法相同。

    let str1 = '1234567811'
    console.log(str1.replaceAll(1,2))//2234567822

search()

search() 方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。返回与指定查找的字符串或者正则表达式相匹配的 String 对象起始位置。若未找到返回-1。
语法:string.search(searchvalue)
searchvalue 必须。查找的字符串或者正则表达式。

    let str1 = '1234567811'
    console.log(str1.search('23'))//1
    console.log(str1.search(/34/))//2

slice()

slice(start, end) 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。
语法:string.slice(start,end)
start 必须。 要抽取的片断的起始下标,第一个字符位置为 0。如果为负数,则从尾部开始截取。
end 可选。 紧接着要截取的片段结尾的下标。若未指定此参数,则要提取的子串包括 start 到原字符串结尾的字符串。如果该参数是负数,那么它规定的是从字符串的尾部开始算起的位置。slice(-2) 表示提取原数组中的倒数第二个元素到最后一个元素(包含最后一个元素)。

    let str1 = '1234567811'
    console.log(str1.slice(1,-1))//23456781
    console.log(str1.slice(5))//67811

split()

split() 方法用于把一个字符串分割成字符串数组。
语法:string.split(separator,limit)
separator 可选。字符串或正则表达式,从该参数指定的地方分割 string Object。
limit 可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。

    let str1 = '1234567811'
    console.log(str1.split(''))// ['1', '2', '3', '4', '5', '6', '7', '8', '1', '1']
    console.log(str1.split('3'))// ['12', '4567811']
    console.log(str1.split('',2))// ['1', '2']

substring()

substring() 方法用于提取字符串中介于两个指定下标之间的字符。
语法:string.substring(from, to)
from 必需。一个非负的整数,规定要提取的子串的第一个字符在 string Object 中的位置。
to 可选。一个非负的整数,比要提取的子串的最后一个字符在 string Object 中的位置多 1。如果省略该参数,那么返回的子串会一直到字符串的结尾。

    let str1 = '1234567811'
    console.log(str1.substring(1))// 234567811
    console.log(str1.substring(3,5))// 45

substr()

substr() 此方法类似于 slice(),区别在于第二个参数规定提取部分的长度。
语法:substr(start,limit)
如果首个参数为负,则从字符串的结尾计算位置。第二个参数不能为负,因为它定义的是长度。

    let str1 = '123456723811' 
    console.log(str1.substr(5,3))// 672

toLowerCase() toUpperCase()

toLowerCase() 方法用于把字符串转换为小写。
toUpperCase() 方法用于把字符串转换为大写。

    let str2 ='AAA'
    console.log(str2.toLowerCase())// aaa
    let str3 ='aaa'
    console.log(str3.toUpperCase())// AAA

trim()

trim() 方法用于删除字符串的头尾空白符,空白符包括:空格、制表符 tab、换行符等其他空白符等。

    let str1 = '       1234567811   '
    console.log(str1)//        1234567811   
    console.log(str1.trim())// 1234567811

startsWith() endsWith()

endsWith() 判断字符串是否以指定字符串结尾。
startsWith() 判断字符串是否以指定字符串开头。

    let str1 = '123456723811' 
    console.log(str1.startsWith('3'))// false
    console.log(str1.startsWith('12'))// true
    console.log(str1.endsWith(3))// false
    console.log(str1.endsWith('11'))// true
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小婵婵不怕鬼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值