1 查找方法

2 字符方法

charAt ()

功能:返回字符串中第n个字符;
参数:(数字)超出范围,返回空字符串;
返回值:string中第n个字符的实际值;

charCodeAt

功能:返回字符串中第n个字符的代码;
参数:超出范围—返回NaN;
返回值:
内容(string中第n个字符的Unicode编码)
范围(0~65535之间的16位整数)

fromCharCode

功能:根据字符编码创建字符串;
参数:0个或多个整数,代表字符的Unicode编码;
返回值:由指定编码字符组成的新字符串;
特性:静态方法,实为构造函数String()的属性;

3 位置方法

indexOf()

从前向后检索字符串,看其是否含有指定子串;

lastIndexOf()

从后向前检索字符串,看其是否含有指定子串;

共性:

功能:根据指定字符串查找下标位置;
参数:(接收两个参数)

  1. 必选:将要查询的子字符串
  2. 可选:开始查找的位置下标(值为负数:转换为0;省略:从默认起始位开始查找;超出0~~length-1:返回-1)

返回值:找到(子串首次出现的下标);未找到(返回-1);

4 匹配方法

match

功能:找到一个或多个正则表达式的匹配;返回匹配的值;search返回的下标;
参数:

  1. 要进行模式匹配的正则表达式;
  2. 非正则表达式:将其传递给RegExp()构造函数,并转换为正则表达式对象;

返回值:存放匹配结果的数组

  1. 有全局标记g:执行全局检索

找到:返回数组(内容:所有匹配的子串;缺陷:1、没有派生属性。2、不提供与子表达式匹配的文本信息。3、不声明每个匹配子串的位置。弥补:使用RegExp.exec()方法。);
没找到:返回null

  1. 无全局标记g:执行一次匹配

找到:返回数组(内容:1、第0个元素:匹配的文本。2、其他元素:与正则子表达式匹配的文本。属性:input(调用该方法的字符串 对象);index(匹配为本的起始字符串中的位置;lastIndex(匹配为本的末尾字符在字符串中的位置)))
没找到:返回null

search

功能:检索字符串中与正则表达式匹配的子串;返回下标;match返回的匹配的值的数组;
参数:与match()相同
返回值:
找到:字符串中第一个与正则表达式相匹配的子串的起始位置
未找到:返回-1
特性:忽略全局标记g和lastIndex()属性

replace★★★

功能:方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
参数:
参数1:需要进行替换正则表达式对象或字符串;
参数2:替换文本或替换函数
(函数接收4个参数:
1、匹配的字符串;
2、正则表达式分组内容。有分组:则参数分别为$1,$2…;没有分组:则没有第2个参数;
3、匹配项在字符串中的index;
4、原字符串,为最后一个参数,不一定是第4个参数,根据参数2的分组情况顺延。)
字符串操作 - 图1
实例1:
var a = ‘a1b2c3d4’; //替换为a2b4c6d8;

  1. var b = a.replace(/\d/g,function(item){<br /> if (item >2) {<br /> return item*2 //如果数字大于2 *2<br /> } else {<br /> return item*10 //小于2 *10<br /> }<br /> }); //a1b2c3d4 => a10b20c6d8<br />实例2:<br />'a1b2c3d4e5'.replace(/(\d)(\w)(\d)/g,function(match, group1, group2, group3, index, origin){<br /> console.log(match);<br /> return group1 + group3;<br />});<br />![](https://cdn.nlark.com/yuque/0/2021/png/291746/1636094041141-7f31ac78-cd94-4a14-9d5c-83e2484466a7.png#)<br />**特性:**
  1. 如果参数1仅为字符串则只进行一次匹配替换,若替代所有子串则必须制定全局标记g。
  2. 如果参数2仅为字符串则可使用特殊字符序列

$$:$
$&:匹配整个模式的子字符串
$’:匹配的子字符串之前的子字符串
$`:匹配的子字符串之后的子字符串
$n:匹配第n个捕获组的子字符串:n=0~9
$nn:匹配第nn个捕获组的子字符串:nn=01~99

split:★★

功能:根据指定分隔符将字符串分割成多个子串,并返回成数组;
参数:
参数1:必选;指定的分割符;
参数2:可选;指定数组的长度;

5 操作方法

6 拼接方法

concat

语法:string.concat(val1,val2,…)
功能:连接字符串
参数:要连接到string上的一个或多个值
返回值:把所有参数都连接到字符串string上得到的新字符串
特性:功能与”+”相同原始字符串的实际值并未被真正修改。

7 截取方法

根据下标截取子串

slice

  1. **功能:**可从已有的数组中返回选定的元素。<br />语法:arrayObject.slice(start,end)<br /> **参数1:**必须;规定何处开始选取。如果是负数,与字符长度相加。<br /> **参数2:**可选;规定从何处结束选取。_该参数是数组片断结束处的数组下标。__如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。__如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。_

substring

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

根据长度截取子串

substr()

  1. **功能:**可在字符串中抽取从 _start_ 下标开始的指定数目的字符;<br /> stringObject.substr(start,length)<br /> **参数1:**必须;要抽取的子串的起始下标。必须是数值。_如果是负数,那么那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。_<br /> **参数2**:可选。子串中的字符数。必须是数值。_如果省略了该参数,那么返回从 stringObject 的开始位置到结尾的字串。_

8 空格处理

trim:清除前置及后缀空格;

trimLeft:清除前置空格;

trimRight:清除后缀空格

9 比较方法

localeCompare

功能:用本地特定顺序比较两个字符串;
参数:与原字符串进行比较的字符串;
返回值:说明比较结果的数字(负数:原字符串<参数字符串;0:原字符串=参数字符串;正数:原字符串>参数字符串)

10 编码方法

11 字符串常规编码与解码

escape()

unescape()

12 URI字符串编码与解码

encodeURI()

decodeURI()

13 encodeURI和encodeURIComponent的区别

encodeURI不会对本身属于URI的特殊字符进行编码,例如冒号、正斜杠、问号和井字号;
encodeURIComponent任何非标准字符进行编码。

14 URI组件编码与解码

encodeURIComponent():编码

语法:encodeURIComponent(URIstring)

decodeURIComponent():解码

语法:decodeURIComponent(URIstring)

15 转换方法

16 转换为大写

toUpperCase()
toLocaleUpperCase()—本地

17 转换为小写

toLowerCase()
toLocaleLowerCase()—本地