类似文章推荐:
JavaScript Array 对象方法总结
JavaScript Object 对象方法总结
JavaScript Date 对象方法总结
JavaScript Math 对象方法总结
方法 | 描述 | 备注 |
---|---|---|
charAt() |
返回指定位置的字符 | |
charCodeAt() |
返回指定位置的字符的 Unicode 编码 | |
concat() |
字符串拼接, 返回拼接得到的新字符串 | |
slice() |
提取字符串的片断,并在新的字符串中返回被提取的部分 | |
substr() |
从起始索引号提取字符串中指定数目的字符 (包前不包后) | |
substring() |
提取字符串中两个指定的索引号之间的字符 (包前不包后) | |
indexOf() |
返回某个指定的字符串值在字符串中首次出现的位置 | |
lastIndexOf() |
从后向前搜索字符串, 并从起始位置(0)开始计算返回字符串最后出现的位置 |
|
toLowerCase() |
把字符串转换为小写 | |
toUpperCase() |
把字符串转换为大写 | |
match() |
查找找到一个或多个正则表达式的匹配 | |
search() |
返回字符串中第一个匹配项的索引 如果没有找到匹配项, 则返回 -1 |
|
replace() |
在字符串中查找匹配的子串, 并替换与正则表达式匹配的子串 |
|
split() |
把字符串分割为字符串数组 | 字符串转数组 |
trim() |
去除字符串两边的空白 | |
localeCompare() |
比较两个字符串的字符顺序 | |
formCharCode() |
接受一个指定的 Unicode 值,然后返回一个字符串 | 静态方法 |
valueOf() |
返回某个字符串对象的原始值 | |
includes() |
确定一个字符串是否包含在另一个字符串中 | ES6 |
startsWith() |
确定一个字符串是否在另一个字符串头部 | ES6 |
endsWith() |
确定一个字符串是否在另一个字符串尾部 | ES6 |
repeat() |
重复原字符串 | ES6 |
padStart() |
在头部补全字符串 | ES6 |
padEnd() |
在尾部补全字符串 | ES6 |
一. 字符方法
charAt()
-
定义和用法
- charAt() 方法可返回指定位置的字符
- 第一个字符位置为 0, 第二个字符位置为 1,以此类推
-
语法
string.charAt(index);
-
参数值
-
index
必需。表示字符串中某个位置的数字,即字符在字符串中的位置
-
-
返回值
-
String
返回在指定位置的字符
-
-
参数值
charCodeAt()
-
定义和用法
- charCodeAt() 方法可返回指定位置的字符的 Unicode 编码
- 字符串中第一个字符的位置为 0, 第二个字符位置为 1,以此类推
-
语法
string.charCodeAt(index);
-
参数值
-
index
必需。表示字符串中某个位置的数字,即字符在字符串中的下标
-
-
返回值
-
Number
返回在指定的位置的字符的 Unicode 编码
-
-
参数值
二. 字符串操作方法
concat()
定义和用法
用于将一或多个字符串拼接起来, 返回拼接得到的新字符串-
语法
string.concat(string1, string2, ..., stringX);
-
参数值
-
string1, string2, ..., stringX
必需。将被连接为一个字符串的一个或多个字符串对象
-
-
返回值
-
String
两个或多个字符串连接后生成的新字符串
-
-
参数值
提示
虽然 concat() 是专门用来拼接字符串的方法, 但实践中使用更多的还是加号操作符(+). 而且, 使用加号操作符在大多数情况下都比使用 concat() 方法要简便易行(特别是在拼接多个字符串的情况下)
slice()
-
定义和用法
- slice(start, end) 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分
- 使用 start(包含) 和 end(不包含) 参数来指定字符串提取的部分
- 字符串中第一个字符位置为 0, 第二个字符位置为 1, 以此类推
-
语法
string.slice(start, end);
-
参数值
-
start
必需。 要抽取的片断的起始下标。第一个字符位置为 0 -
end
可选。 紧接着要截取的片段结尾的下标。若未指定此参数,则要提取的子串包括 start 到原字符串结尾的字符串。如果该参数是负数,那么它规定的是从字符串的尾部开始算起的位置
-
-
返回值
-
String
提取的字符串
-
-
参数值
提示
如果是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符,-2 指倒数第二个字符,以此类推
substr()
定义和用法
substr() 方法可在字符串中抽取从开始下标开始的指定数目的字符-
语法
string.substr(start, length);
-
参数值
-
start
必需。要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推 -
length
可选。子串中的字符数。必须是数值。如果省略了该参数,那么返回从 stringObject 的开始位置到结尾的字串
-
-
返回值
-
String
包含提取文本部分的新字符串
-
-
参数值
substring()
定义和用法
substring() 方法用于提取字符串中介于两个指定下标之间的字符-
语法
string.substring(from, to);
-
参数值
-
from
必需。一个非负的整数,规定要提取的子串的第一个字符在 string Object 中的位置 -
to
可选。一个非负的整数,比要提取的子串的最后一个字符在 string Object 中的位置多 1。如果省略该参数,那么返回的子串会一直到字符串的结尾
-
-
返回值
-
String
包括开头的字符,但不包括结尾的字符
-
-
参数值
三. 字符串位置方法
indexOf()
-
定义和用法
- indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置
- 如果没有找到匹配的字符串则返回 -1
-
语法
string.indexOf(searchvalue, start);
-
参数值
-
searchvalue
必需。规定需检索的字符串值 -
start
可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 string Object.length - 1。如省略该参数,则将从字符串的首字符开始检索
-
-
返回值
-
Number
查找指定字符串第一次出现的位置,如果没找到匹配的字符串则返回 -1
-
-
参数值
lastIndexOf()
定义和用法
lastIndexOf() 方法可返回一个指定的字符串值最后出现的位置,如果指定第二个参数 start,则在一个字符串中的指定位置从后向前搜索-
语法
string.lastIndexOf(searchvalue, start);
-
参数值
-
searchvalue
必需。规定需检索的字符串值 -
start
可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略该参数,则将从字符串的最后一个字符处开始检索
-
-
返回值
-
Number
查找的字符串最后出现的位置,如果没有找到匹配字符串则返回 -1
-
-
参数值
注意
该方法将从后向前检索字符串,但返回是从起始位置 (0) 开始计算子字符串最后出现的位置。 看它是否含有字符串
开始检索的位置在字符串的 start 处或字符串的结尾(没有指定 start 时)
如果没有找到匹配字符串则返回 -1
四. 字符串大小写转换方法
toLowerCase()
定义和用法
toLowerCase() 方法用于把字符串转换为小写语法
string.toLowerCase()
toUpperCase()
定义和用法
toUpperCase() 方法用于把字符串转换为大写语法
string.toUpperCase()
五. 字符串的模式匹配方法
match()
定义和用法
match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配-
语法
string.match(regexp)
-
参数值
-
regexp
必需。规定要匹配的模式的 RegExp 对象。如果该参数不是 RegExp 对象,则需要首先把它传递给 RegExp 构造函数,将其转换为 RegExp 对象。
-
-
返回值
-
Array
存放匹配结果的数组。该数组的内容依赖于 regexp 是否具有全局标志 g。 如果没找到匹配结果返回 null
-
-
参数值
-
注意
- match() 方法将检索字符串 String Object,以找到一个或多个与 regexp 匹配的文本
- 这个方法的行为在很大程度上有赖于 regexp 是否具有标志 g
- 如果 regexp 没有标志 g,那么 match() 方法就只能在 stringObject 中执行一次匹配
- 如果没有找到任何匹配的文本, match() 将返回 null
- 否则,它将返回一个数组,其中存放了与它找到的匹配文本有关的信息
search()
-
定义和用法
- search() 方法返回字符串中第一个匹配项的索引; 如果没有找到匹配项, 则返回 -1
- search() 方法始终是从字符串开头向后查找模式
-
语法
string.search(searchvalue)
-
参数值
-
searchvalue
必需。查找的字符串或者正则表达式
-
-
返回值
-
Number
与指定查找的字符串或者正则表达式相匹配的 String 对象起始位置
-
-
参数值
replace()
-
定义和用法
- replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串
- 该方法不会改变原始字符串
-
语法
string.replace(searchvalue,newvalue)
-
参数值
-
searchvalue
必需。规定子字符串或要替换的模式的 RegExp 对象。
请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象 -
newvalue
必需。一个字符串值。规定了替换文本或生成替换文本的函数
-
-
返回值
-
String
一个新的字符串,是用 replacement 替换了 regexp 的第一次匹配或所有匹配之后得到的
-
-
参数值
split()
定义和用法
split() 方法用于把一个字符串分割成字符串数组-
语法
string.split(separator,limit)
-
参数值
-
separator
可选。字符串或正则表达式,从该参数指定的地方分割 stringObject -
limit
可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度
-
-
返回值
-
Array
一个字符串数组。该数组是通过在 separator 指定的边界处将字符串 string Object 分割成子串创建的。返回的数组中的字串不包括 separator 自身
-
-
参数值
提示
如果把空字符串 ("") 用作 separator,那么 stringObject 中的每个字符之间都会被分割注意
split() 方法不改变原始字符串
六. 其他
trim()
定义和用法
trim() 方法会创建一个字符串的副本, 删除前置及后缀的所有空格, 然后返回结果-
语法
string.trim();
-
返回值
-
String
返回首尾没有空格的新字符串, 不改变原始字符串
-
-
返回值
-
注意
实例
let stringValue = " hello world ";
stringValue.trim(); // "hello world"
localeCompare()
定义和用法
从前到后依次比较两个字符串-
语法
stringObject.localeCompare(target)
-
参数值
-
target
要以本地特定的顺序与 stringObject 进行比较的字符串
-
-
返回值
-
Number
从前到后依次比较两个字符串并返回下列值中的一个:- 如果字符串在字母表中应该排在字符串参数之前, 则返回一个负数 (大多数情况下是 -1)
- 如果字符串等于字符串参数, 则返回 0
- 如果字符串在字母表中应该排在字符串参数之后, 则返回一个正数 (大多数情况下是 1)
-
-
参数值
注意
localeCompare() 区分大小写, 同字母小写在前, 大写在后实例
let stringValue = "bcd";
stringValue.localeCompare("abc"); // 1
stringValue.localeCompare("bc"); // 1
stringValue.localeCompare("bcd"); // 0
stringValue.localeCompare("bcde"); // -1
stringValue.localeCompare("cd"); // -1
stringValue.localeCompare("Bcd"); // -1
formCharCode()
-
定义和用法
- fromCharCode() 可接受一个指定的 Unicode 值,然后返回一个字符串
- 从本质来看, 这个方法与 charCodeAt() 执行的是相反的操作
-
语法
String.fromCharCode(numX, numX, ..., numX)
-
参数值
-
numX
必需。一个或多个 Unicode 值,即要创建的字符串中的字符的 Unicode 编码
-
-
返回值
-
String
返回代表 Unicode 编码的字符
-
-
参数值
-
注意
- 该方法是 String 的静态方法,字符串中的每个字符都由单独的数字 Unicode 编码指定
- 它不能作为您已创建的 String 对象的方法来使用
- 因此它的语法应该是
String.fromCharCode()
,而不是myStringObject.fromCharCode()
实例
String.fromCharCode(104, 101, 108, 108, 111); // "hello"
valueOf()
定义和用法
valueOf() 方法可返回 String 对象的原始值语法
string.valueOf()
注意
valueOf() 方法通常由 JavaScript 在后台自动进行调用,而不是显式地处于代码中
七. ES6 新增
includes()
定义和用法
确定一个字符串是否包含在另一个字符串中-
语法
string.includes(searchvalue, start);
-
参数值
-
searchvalue
必需。规定需检索的字符串值 -
start
可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 string Object.length - 1。如省略该参数,则将从字符串的首字符开始检索
-
-
返回值
-
Boolean
返回布尔值,表示是否找到了参数字符串
-
-
参数值
startsWith()
定义和用法
确定一个字符串是否在另一个字符串头部-
语法
string.startsWith(searchvalue, start);
-
参数值
-
searchvalue
必需。规定需检索的字符串值 -
start
可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 string Object.length - 1。如省略该参数,则将从字符串的首字符开始检索
-
-
返回值
-
Boolean
返回布尔值,表示参数字符串是否在原字符串的头部
-
-
参数值
endsWith()
定义和用法
确定一个字符串是否在另一个字符串尾部-
语法
string.endsWith(searchvalue, start);
-
参数值
-
searchvalue
必需。规定需检索的字符串值 -
start
可选的整数参数。规定在字符串中开始检索的位置 (针对的是该位置之前的字符)。它的合法取值是 0 到 string Object.length - 1。如省略该参数,则将从字符串的尾字符开始检索
-
-
返回值
-
Boolean
返回布尔值,表示参数字符串是否在原字符串的尾部
-
-
参数值
repeat()
定义和用法
重复原字符串-
语法
string.endsWith(number);
-
参数值
-
number
必需。规定重复的次数
-
-
参数值
-
注意
- 参数如果是小数,会被取整
- 如果
repeat
的参数是负数或者Infinity
,会报错 - 如果参数是 0 到-1 之间的小数,则等同于 0,这是因为会先进行取整运算。0 到 -1 之间的小数,取整以后等于 -0,
repeat
视同为 0 - 参数NaN等同于 0
- 如果
repeat
的参数是字符串,则会先转换成数字
padStart()、padEnd()
定义和用法
如果某个字符串不够指定长度,会在头部或尾部补全.padStart()
用于头部补全,padEnd()
用于尾部补全-
语法
string.padStart(length, value);
string.padEnd(length, value);
-
参数值
-
length
必需。规定字符串补全生效的最大长度 -
value
必需。用来补全字符串的内容
-
-
参数值
-
注意
- 如果用来补全的字符串与原字符串,两者的长度之和超过了最大长度,则会截去超出位数的补全字符串
- 如果省略第二个参数,默认使用空格补全长度