JavaScript字符串操作全解:ES6新增方法与经典API汇总

作者:小括号

时间:2026-10-31

浏览:491

本文系统梳理了JavaScript中字符串的47种操作方法,涵盖增删改查四大类。重点解析ES6引入的padStart、padEnd、trimStart、trimEnd、at、replaceAll及模板字符串等新特性,同时回顾concat、slice、substring、indexOf等经典API,帮助开发者全面掌握字符串处理技巧。

文章目录

本文将为您详细介绍JavaScript中字符串的各种操作方法,无论是常用还是较少使用的功能,这里都进行了整理。

部分分类可能不够严谨,敬请谅解。

增加操作

1. concat()

用于拼接字符串,可以将两个或多个字符串连接在一起。

    let str = "hello"
    let str1 =" str"
    console.log("hello".concat(str1)) //hello str
    console.log(str.concat(str1)) //hello str

2. padStart(总长度, 填充字符串)

该方法返回一个新字符串,使用指定字符串从原字符串头部(左侧)进行补全,直到达到指定的总长度。

    let str = "hello str"
    // 现在我们str的长度为9
    // 我们限定了总长度为10 我们在字符串最前面添加 一直添加到总长度为10
    // 如果未填充字符串 字符串不变
    console.log(str.padStart(10,"123")) //1hello str

3. padEnd(总长度, 填充字符串)

该方法返回一个新字符串,使用指定字符串从原字符串尾部(右侧)进行补全,直到达到指定的总长度。

    let str = "hello str"
    // 现在我们str的长度为9
    // 我们限定了总长度为10 我们在字符串最后面添加 一直添加到总长度为10
    // 如果未填充字符串 字符串不变
    console.log(str.padEnd(10, "123")) //hello str1

—————————————————————————————————————

删除操作

4. slice()

用于从字符串中截取指定部分,不会修改原字符串。第一个参数指定开始位置的索引(包含该位置)。

第二个参数指定结束位置的索引(不包含该位置)。

    let str = "hello str"
    // 一个参数截取后面所有的字符串
    console.log(str.slice(6)) //str
    console.log(str.slice(0,5)) //hello
    // 也可以传递一个负数,负数将会从后面计算
    console.log(str.slice(0,-1)) //hello st

5. substr()

用于截取字符串。第一个参数指定开始位置的索引,第二个参数指定截取的字符长度。

    let str = "hello str"
    console.log(str.substr(0,5))//hello
    console.log(str.substr(6,3))//str

6. substring()

用于字符串截取,语法为 substring(开始索引[, 结束索引])。

    let str = "hello str"
    // 当只有一个参数的时候 索引位置往后全部截取 包含索引位置
    console.log(str.substring(6)) //"str"
    // 当有两个参数的时候 开始索引的位置 结束索引的位置
    // 结束的索引不包含想要截取的部分
    // 记住包前不包后
    console.log(str.substring(6,7)) //"s"

7. trim()

用于清除字符串首尾的空格。

    let str = " hello str "
    console.log(str.trim()) //"hello str"

8. trimEnd()

trimEnd() 方法用于从一个字符串的末端移除空白字符。

    let str = "hello str    "
    console.log(str.length) //13
    console.log(str.trimEnd().length) // 9
    console.log(str.trimEnd()) // hello str

9. trimRight()

trimRight() 方法用于从一个字符串的末端移除空白字符。

    let str = "hello str    "
    console.log(str.length) //13
    console.log(str.trimRight().length) // 9
    console.log(str.trimRight()) // hello str

10. trimLeft()

trimLeft() 方法用于从一个字符串的前端移除空白字符。

    let str = "    hello str"
    console.log(str.length) //13
    console.log(str.trimLeft().length) // 9
    console.log(str.trimLeft()) // hello str

11. trimStart()

trimStart() 方法用于从一个字符串的前端移除空白字符。

    let str = "    hello str"
    console.log(str.length) //13
    console.log(str.trimStart().length) // 9
    console.log(str.trimStart()) // hello str

——————————————————————————————————————————————————

修改操作

12. split()

将字符串切割为数组,切割后的结果可以使用数组相关方法进行操作。

    let str = "red,orange"
    console.log(str.split(",")) // ['red', 'orange']
    console.log(str.split("")) //['r', 'e', 'd', ',', 'o', 'r', 'a', 'n', 'g', 'e']

12. toLocaleLowerCase()

将字符串中的大写字母转换为小写。

    let str = "HELLO STR"
    console.log(str.toLocaleLowerCase()) //hello str

13. toLocaleUpperCase()

将字符串中的小写字母转换为大写。

    let str = "hello str"
    console.log(str.toLocaleUpperCase()) //HELLO STR

14. toLowerCase()

将字符串中的大写字母转换为小写。

    let str = "HELLO STR"
    console.log(str.toLowerCase()) //hello str

16. toUpperCase()

将字符串中的小写字母转换为大写。

    let str = "hello str"
    console.log(str.toUpperCase()) //HELLO STR

17. toString()

toString() 有多种用法,此处主要介绍与字符串相关的功能。

可以将其他数据类型转换为字符串类型。

    let arr = [1]
    let obj = {name:"zs"}
    let num = 1
    console.log(arr.toString()) // 1
    console.log(typeof arr.toString()) // string
    console.log(obj.toString()) // [object Object]
    console.log(typeof obj.toString()) // string
    console.log(num.toString()) // 1
    console.log(typeof obj.toString()) // string

18. replace()

用于将字符串中指定的内容替换为新内容。第一个参数为被替换的内容,第二个参数为新内容。

    let str = "hello str"
    console.log(str.replace("hello","hh")) //hh str

19. replaceAll()

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

    let str = "hello str hello str"
    console.log(str.replaceAll("hello","hh")) //hh str hh str

20. repeat(number)

返回一个新字符串,表示将原字符串重复指定次数。

    let str = "hello str"
    console.log(str.repeat(2)) //hello strhello str

——————————————————————————————————————————————————

查找操作

21. length

用于获取字符串的长度。

    let str = "hello str"
    console.log(str.length) //9

22. charAt()

str.charAt(index),其中 index 是字符在字符串中的位置索引,索引从 0 开始。

如果提供的索引超出范围,则返回空字符串。

    let str = "hello str"
    console.log(str.charAt(0)) //h
    console.log(str.charAt(9)) //空

23. indexOf()

用于检索字符串中是否包含指定内容。如果包含,则返回其第一次出现的索引;可选的第二个参数代表开始查找的位置。如果未找到指定内容,则返回 -1。

    let str = "hello hello"
    console.log(str.indexOf("h")) //0
    console.log(str.indexOf("v")) //-1
    //有两个参数的时候 索引指定开始查找位置
    console.log(str.indexOf("e",0)) //1
    console.log(str.indexOf("h",1)) //-1

24. lastIndexOf()

用于从后往前检索字符串中是否包含指定内容。如果包含,则返回其最后一次出现的索引;可选的第二个参数代表开始查找的位置。如果未找到指定内容,则返回 -1。

    let str = "hello hello"
    console.log(str.lastIndexOf("h")) //6
    console.log(str.lastIndexOf("v")) //-1
    // 从下标为0的位置开始从后往前找
    console.log(str.lastIndexOf("h",0)) //0
    console.log(str.lastIndexOf("h",6)) //6

25. includes()

用于判断一个字符串是否包含在另一个字符串中,根据情况返回 true 或 false。

    let str = "hello str"
    console.log(str.includes("hello")) //true
    console.log(str.includes("str")) //true
    console.log(str.includes("helo")) //false
    //两个值时 第二个值是索引 如下例 从索引1后面再开始查找
    console.log(str.includes("hello",1)) //false
    console.log(str.includes("ello",1)) //true

26. charCodeAt()

返回指定索引位置字符的 Unicode 值。

    let str = "hello str"
    console.log(str.charCodeAt(0)) //104

27. formCharCode()

可以根据字符编码获取对应的字符,需要通过 String.fromCharCode() 来调用。

    console.log(String.fromCharCode(20000)) // 北

28. search()

用于搜索字符串中是否含有指定内容。如果搜索到,则返回第一次出现的索引;如果未搜索到,则返回 -1。该方法也可以接收一个正则表达式作为参数,并根据正则表达式检索字符串。

    let str = "hello str"
    console.log(str.search("hello")) //0
    console.log(str.search("str")) //6
    console.log(str.search("v")) //-1
    // 可以使用正则表达式
    let str1 = "aac abc acc"
    console.log(str1.search(/a[abc]c/)) //0

29. match()

可以根据正则表达式,从一个字符串中将符合条件的内容提取出来。默认情况下只会找到第一个符合要求的內容,找到后停止检索。可以设置正则表达式为全局匹配,此时将返回一个数组。

    let str = "1a2b3c"
    console.log(str.match(/[A-z]/)) 
    console.log(str.match(/[A-z]/g))

增加操作

30. at()

at() 方法用于接收一个整数值并返回该索引对应的元素,允许正数和负数。负整数从数组中的最后一个元素开始倒数。

匹配给定索引的数组中的元素。如果找不到指定的索引,则返回 undefined。

    let str = "hello str"
    console.log(str.at(9)) // undefined
    console.log(str.at(0)) // h
    console.log(str.at(-1)) // r

31. startsWith()

返回布尔值,用于判断参数字符串是否在原字符串的头部。

    let str = "hello str"
    // h在字符串的头部返回true
    console.log(str.startsWith("h"))//true
    // e不在头部返回false
    console.log(str.startsWith("e"))//false

32. endsWith()

返回布尔值,用于判断参数字符串是否在原字符串的尾部。

    let str = "hello str"
    // r在字符串的尾部返回true
    console.log(str.endsWith("r")) // true
    // h不在字符串的尾部返回false
    console.log(str.endsWith("h")) // false

33. localeCompare()

用于比较两个字符串。

如果第一个字符串大于第二个字符串,返回 1。

如果第一个字符串等于第二个字符串,返回 0。

如果第一个字符串小于第二个字符串,返回 -1。

    console.log("a".localeCompare("b")) // -1
    console.log("a".localeCompare("a")) // 0
    console.log("b".localeCompare("a")) // 1

——————————————————————————————————————————————————

标签类型方法

34. sub()

该方法返回加了 sub 标签的字符串。

    let str = "hello str"
    console.log(str.sub())

增加操作

35. big()

该方法返回加了 big 标签的字符串。

    let str = "hello str"
    console.log(str.big()) 

增加操作

36. bold()

该方法返回加了 b 标签的字符串。

    let str = "hello str"
    console.log(str.big()) 

增加操作

37. anchor()

anchor() 方法用于创建 HTML 锚,该方法返回加了 a 标签的字符串。

    let str = "hello str"
    console.log(str.anchor("url地址")) 

增加操作

38. blink()

blink() 方法用于显示闪动的字符串。

该方法返回加了 blink 标签的字符串。

    let str = "hello str"
    console.log(str.blink())

增加操作

39. fixed()

fixed() 方法用于把字符串显示为打字机字体。

该方法返回加了 tt 标签的字符串。

    let str = "hello str"
    console.log(str.fixed())

增加操作

40. small()

该方法返回加了 small 标签的字符串。

    let str = "hello str"
    console.log(str.small())

增加操作

41. link()

该方法返回加了 a 标签的字符串。

    let str = "hello str"
    console.log(str.link("url地址"))

增加操作

42. strike()

该方法返回加了 strike 标签的字符串。

    let str = "hello str"
    console.log(str.strike())

增加操作

43. fontcolor()

fontcolor() 方法用于按照指定的颜色来显示字符串。

该方法返回加了 font 标签的字符串。

    let str = "hello str"
    console.log(str.fontcolor("red"))

增加操作

44. fontsize()

fontsize() 方法用于按照指定的尺寸来显示字符串。

该方法返回加了 font 标签的字符串。

    let str = "hello str"
    console.log(str.fontsize(12))

增加操作

45. italics()

italics() 方法用于把字符串显示为斜体。

该方法返回加了 i 标签的字符串。

    let str = "hello str"
    console.log(str.fontsize(12))

增加操作

——————————————————————————————————————————————————

46. valueOf()

返回 String 对象的原始值。

    let str = "hello str"
    console.log(str.valueOf()) //hello str

47. 模板字符串

ES6新增了模板字符串,让我们拼接字符串时更方便。注意:切记使用反引号作为字符串的定界符,分隔的字面量。

1. 拼接

在模板字符串出现之前,拼接字符串是比较麻烦的。

	const name = "杰克";
	const age = 18;
	// 以前的拼接字符串
	console.log("大家好,我的名字叫"+name+",我今年"+age+"岁")

现在有了模板字符串,拼接起来就会简单许多。

模板字符串使用反引号 `` 作为字符串的定界符,分隔的字面量。

    const name = "杰克";
    const age = 18;
    // 模板字符串,切记使用反引号
    console.log(`大家好,我的名字叫${name},我今年${age}岁`)

2. 换行

以前我们用双引号或者单引号编写字符串时,如果出现一行装不下的情况下,我们需要使用 + 号来拼接。

    const name = "杰克";
    const age = 18;
    // 一行装不下我们需要用+来拼接
    console.log("大家好,我的名字叫杰克"
    +"今年18岁了")

现在我们有了模板字符串,就可以更简单的实现换行。

    const name = "杰克";
    const age = 18;
    // 一行装不下我们需要用+来拼接
    console.log(`大家好,我的名字叫杰克
    今年18岁了`)

总结

到此这篇关于JS+ES6新增字符串操作方法汇总的文章就介绍到这了,更多相关JS+ES6新增字符串内容请搜索本站以前的文章或继续浏览下面的相关文章,希望大家以后多多支持本站!

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章