1. str.charAt(index)

根据下标获取字符串中的字符,
返回获取的字符。
注意:如果 index 不存在,返回空字符串。

2. str[index]

和 chartAt() 等效,
HTML5,
IE8+ 支持。

3. str.concat(str1, str2, …, strX)

将多个字符串拼接成一个字符串,
返回拼接完成的字符串。
作用和 + 相同,+ 更常用。

4. str.slice(start, end)

字符串截取,
从 start 位置截取到 end 位置,包含 start,不包含 end 。
返回截取后的字符串。
参数为负时,start 从 -1 开始,-1 为字符串最后一位。end 依旧取不到,截取依旧是从左往右。

5. str.substring(start, end)

字符串截取,
从 start 位置截取到 end 位置,包含 start,不包含 end 。如果 end 省略,则截取到字符串结尾。
返回截取后的字符串。
参数为负时,当作 0 处理。(也就是不接受负的参数)
注意:如果 start === end 会返回空字符串(即字符串长度为 0),如果 start > end 则会交换位置。

6. str.substr(start, length)

字符串截取,
从 start 位置开始截取 length 个字符 。如果 length 省略,则截取到字符串结尾。
返回截取后的字符串。
参数为负时,start 从 -1 开始,-1 为字符串最后一位。截取 length 个字符,截取依旧是从左往右。
注意:ECMAscript 没有对该方法进行标准化,因此不建议使用。

7.str.indexOf(val, index)

字符串检索。
返回匹配的字符串第一次出现的位置,没找到返回 -1。
index 默认为 0 ,合法值为 0 - str.length-1。

8.str.lastIndexOf(val, index)

从后往前检索字符串。
返回匹配字符串最后一次出现的位置,没找到返回 -1。
index 默认为 length-1 ,合法值为 0 - str.length-1。

9. str.trim()

去除字符串两端的空白,
返回去除空格后的字符串。

10.str.toUpperCase()

转换为大写。

11.str.toLowerCase()

转换为小写。

12.str.replace(regexp/str,replaceStr/replaceFn)

字符串替换,返回新的字符串。
默认只匹配和替换一次。如果是正则有全局标志 g, 则替换匹配的所有字符串。
w3school 之字符串的 replace 方法

13. str.split(separator,howmany)

将字符串以某个分割符分割成数组,返回分割完成的字符串数组。
如果以数组中不存在的字符分割,会把字符串整体放进数组中。
参数:

  • separator :分割符或正则
  • howmany:返回数组的最大长度
    注意:如果把空字符串 ("") 用作 separator(分割符),那么字符串中的每个字符之间都会被分割。
    对应数组的 arr.join() 方法。
14. str.charCodeAt(index)

获取指定位置的字符的 unicode 编码。
返回值是 0 - 65535 之间的整数。
注意:如果 index 不存在,返回 NaN。

15. String.fromCharCode(Unicode1, Unicode2, …, UnicodeX)

将一个或多个字符串的 unicode 编码转回字符串。
注意:该方法是 String 的静态方法,由 String 直接调用。

16. str.includes(str[, index])

是否包含某个字符串,
返回 true 或 false。
index: 可选,查找位置。默认为 0。
注意:includes() 方法是区分大小写的。

17. str.startsWith(str[, length])

是不是以某个字符串开头。
返回 true 或 false。
length: 可选,可手动指定字符串结尾的位置,默认为 0。
注意:区分大小写。

18. str.endsWith(str[, length])

是不是以某个字符串结尾。
返回 true 或 false。
length: 可选,可手动指定字符串结尾的位置,默认为 str.length。
注意:区分大小写。

19. str.repeat(n)

返回拼接 n 次的字符串.
n 是整数, n > 0 && n < infinity
注意:如果拼接 0 次,则是空字符串,拼接一次为字符串本身。

20. str.padStart(length[, str])

字符串头部补全。
length:需要补全的目标长度,如果小于字符串当前的长度,则返回字符串本身。
str: 可选,填充字符串,缺省值为 " ",如果超过目标长度,只保留最左侧部分。

21. str.padEnd(length[, str])

字符串尾部补全。
length:需要补全的目标长度,如果小于字符串当前的长度,则返回字符串本身。
str: 可选,填充字符串,缺省值为 " ",如果超过目标长度,只保留最左侧部分。

22. str.match(regexp/str)

在字符串中查找指定的值并返回匹配到的值。
如果没有匹配的值则返回 null, 否则返回数组。
参数可以是 regexp 正则表达式或者 str 具体的字符串。
当参数是正则时,如果没有全局标志 g, 则只匹配一次,如果有全局标志 g 则匹配多次。
当全局匹配时,返回的数组包含所有的匹配项。
当不是全局匹配时(没有 g),则返回的数组只有第一次的匹配项,同时具有 index 属性保存了匹配项的索引,input 属性保存了调用 match 方法的源字符串。

23.str.search(str/reg)

释义:检索字符串中指定的子字符串,或者检索与正则表达式匹配的子字符串。如果要忽略大小写,可追加标志 i。
返回值:返回第一个匹配结果的子字符串的起始位置,没有匹配返回 -1。
注意:不执行全局匹配,会忽略全局标志 g,同时忽略 reg 的 lastIndex 属性。

tips
  1. 字符串等基本类型数据的值在内存中是不可变的,给字符串重新赋值会和新建字符串一样,都会在内存中开辟新的空间。
  2. 可以通过下标获取指定位置的字符,但不能修改。(字符串不可变)
  3. 同理,字符串方法都不会修改原字符串,只会返回新的字符串。