Skip to content

JS 字符串方法速查表

早期方法(ES1 ~ ES3)

方法名引入版本功能描述使用示例
toString()ES1 (1997)返回字符串值'abc'.toString(); // 'abc'
valueOf()ES1 (1997)返回原始字符串值'abc'.valueOf(); // 'abc'
charAt()ES1 (1997)返回指定索引字符'abc'.charAt(1); // 'b'
charCodeAt()ES1 (1997)返回字符的 Unicode 编码'abc'.charCodeAt(0); // 97
concat()ES1 (1997)连接多个字符串'a'.concat('b', 'c'); // 'abc'
indexOf()ES1 (1997)返回子串首次出现位置'abc'.indexOf('b'); // 1
lastIndexOf()ES1 (1997)返回子串最后出现位置'aba'.lastIndexOf('a'); // 2
slice()ES1 (1997)提取子字符串'abcde'.slice(1, 3); // 'bc'
substring()ES1 (1997)提取两索引间的子串'abcde'.substring(1, 3); // 'bc'
substr()ES1 (1997)提取从索引开始的指定长度(已废弃)'abcde'.substr(1, 2); // 'bc'
toLowerCase()ES1 (1997)转为小写'ABC'.toLowerCase(); // 'abc'
toUpperCase()ES1 (1997)转为大写'abc'.toUpperCase(); // 'ABC'
replace()ES3 (1999)替换首次匹配内容'abc'.replace('b', 'x'); // 'axc'
search()ES3 (1999)返回正则匹配的起始索引'abc'.search(/b/); // 1
split()ES3 (1999)按分隔符拆分为数组'a,b,c'.split(','); // ['a','b','c']
localeCompare()ES3 (1999)本地化字符串比较'b'.localeCompare('a'); // 1
match()ES3 (1999)用正则匹配返回数组'abc'.match(/b/); // ['b']
toLocaleLowerCase()ES3 (1999)本地化转为小写'ABC'.toLocaleLowerCase(); // 'abc'
toLocaleUpperCase()ES3 (1999)本地化转为大写'abc'.toLocaleUpperCase(); // 'ABC'

现代方法(ES5 及以后)

方法名引入版本功能描述使用示例
trim()ES5 (2009)去除首尾空白' abc '.trim(); // 'abc'
codePointAt()ES6 (2015)返回字符的 Unicode 码点(支持 >0xFFFF)'A'.codePointAt(0); // 65
normalize()ES6 (2015)Unicode 标准化'é'.normalize('NFC'); // 'é'
repeat()ES6 (2015)重复字符串'ab'.repeat(2); // 'abab'
startsWith()ES6 (2015)是否以指定字符串开头'abc'.startsWith('ab'); // true
endsWith()ES6 (2015)是否以指定字符串结尾'abc'.endsWith('bc'); // true
includes()ES6 (2015)是否包含子串'abc'.includes('b'); // true
padStart()ES2017 (2017)头部填充到指定长度'5'.padStart(3, '0'); // '005'
padEnd()ES2017 (2017)尾部填充到指定长度'5'.padEnd(3, '0'); // '500'
trimStart()ES2019 (2019)去除头部空白' abc'.trimStart(); // 'abc'
trimEnd()ES2019 (2019)去除尾部空白'abc '.trimEnd(); // 'abc'
matchAll()ES2020 (2020)返回所有正则匹配的迭代器[...'ab ab'.matchAll(/ab/g)]; // [['ab'], ['ab']]
replaceAll()ES2021 (2021)替换所有匹配内容'a-a'.replaceAll('a', 'b'); // 'b-b'
at()ES2022 (2022)支持负索引访问字符'abc'.at(-1); // 'c'

静态方法(String 对象)

方法名引入版本功能描述使用示例
String.fromCharCode()ES1 (1997)从 Unicode 编码创建字符串String.fromCharCode(65, 66); // 'AB'
String.fromCodePoint()ES6 (2015)从码点创建字符串(支持 >0xFFFF)String.fromCodePoint(0x1F600); // 'GRINNING FACE'
String.raw()ES6 (2015)原始字符串(保留转义)String.rawhello\nworld; // 'hello\\nworld'

Released under the MIT License.