目录
1. length
返回字符串长度。
例:
let str = 'ASDFGHJKL; l0'
console.log('字符串长度为:' + str.length);
输出:
2. indexOf()
返回字符串中指定文本首次出现的索引。
例:
let str = 'ASDFGHJKL; l0AS';
let index = str.indexOf('S');
console.log('索引为:' + index);
输出:
3.lastIndexOf()
返回指定文本在字符串中最后一次出现的索引。
例:
let str = 'ASDFGHJKL; l0AS';
let index = str.lastIndexOf('S');
console.log('索引为:' + index);
输出:
注意:1. indexOf() 和lastIndexOf() 如果未找到文本,则均返回 -1。
2. 两种方法都接受作为检索起始位置的第二个参数。
例: lastIndexOf() 方法向后进行检索(从尾到头),这意味着:假如第二个参数是 14,则从位置14 开始检索,直到字符串的起点。
let str = 'ASDFGHJKL; l0AS';
let index = str.lastIndexOf('S', 14);
console.log('索引为:' + index);
输出:
4. search()
]执行正则表达式和 String 对象之间的一个搜索匹配。
例:
let str = 'ASDFGHJKL; l0AS';
let reg = /[a-z]/;
let reg1 = /[.]/;
console.log('匹配小写字母的索引:' + str.search(reg));
console.log('匹配.的索引:' + str.search(reg1));
输出:
注意:
- 如果传入一个非正则表达式对象 regexp,则会使用 new RegExp(regexp) 隐 式地将其转换为正则表达式对象。
- 如果匹配成功,则 search() 返回正则表达式在字符串中首次匹配项的索引;否则,返回 -1。
- 当你想要知道字符串中是否存在某个模式(pattern)时可使用 search()
- search()与indexOf() 区别:
(1)search() 方法无法设置第二个开始位置参数。
(2) indexOf() 方法无法设置更强大的搜索值(正则表达式)。
5. slice()
提取字符串的某个部分并在新字符串中返回被提取的部分。
该方法设置两个参数:起始索引(开始位置),终止索引(结束位置)。
例:截取索引为1 到4之间的字符串(不包括4)
let str = 'ASDFGHJKL; l0AS';
console.log(str.slice(1, 4));
输出:
注意1: 若不规定结束位置,则默认截取到末尾的所有字符。
例:
let str = 'ASDFGHJKL; l0AS';
console.log(str.slice(1));
输出:
注意2: 可以接收负值,从后往前计算
例: 截取从后往前数的第1到第4()不包括4的字符串
let str = 'ASDFGHJKL; l0AS';
console.log(str.slice(-4, -1));
输出:
6. substring()
截取字符串, 类似于 slice()。不同之处在于 substring() 无法接受负的索引。
例:
let str = 'ASDFGHJKL; l0AS';
console.log(str.substring(1, 4));
输出:
注意: 如果省略第二个参数,则默认截取到最后
例:
let str = 'ASDFGHJKL; l0AS';
console.log(str.substring(1));
输出:
7. substr()
截取字符串,同样类似于 slice()。不同之处在于第二个参数规定被提取部分的长度。
例:
let str = 'ASDFGHJKL; l0AS';
console.log(str.substr(1, 2));
输出:
注意: 如果不规定第二个参数,则默认截取到最后
例:
let str = 'ASDFGHJKL; l0AS';
console.log(str.substr(1));
输出:
注意: 接收负值,如果首个参数为负,则从字符串的结尾计算位置。但第二个参数不接受负值, 因为截取长度不能为负数
例:
let str = 'ASDFGHJKL; l0AS';
console.log(str.substr(-1));
8. replace()
替换:用另一个值替换在字符串中指定的值。
replace() 方法不会改变调用它的字符串。它返回的是新字符串。
例:
let str = "I like China";
let result = str.replace("like", "love");
console.log(result);
输出:
注意: 默认地,replace() 只替换首个匹配。
例:
let str = "I like like China";
let result = str.replace("like", "love");
console.log(result);
输出:
注意: 默认地,replace() 对大小写敏感,区分大小写。
例:
let str = "I love China";
let result = str.replace("china", "Chinese");
console.log(result);
输出:
如果不想区分大小写,使用正则表达式 /i
例:
let str = "I love China";
let result = str.replace(/china/i, "Chinese");
console.log(result);
输出:
注意:/i
是替换匹配到的第一个,要想匹配所有,用/g
例:
let str = "China, I love China";
let result = str.replace(/china/g, "Chinese");
let result1 = str.replace(/China/g, "Chinese");
console.log(result);
console.log(result1);
输出:
9.toUpperCase()
把字符串转换为大写。
例:
let str = "I love China";
let result = str.toUpperCase();
console.log(result);
输出:
10.toLowerCase()
把字符串转换为小写。
例:
let str = "I LOVE China";
let result = str.toUpperCase();
console.log(result);
输出:
11.concat()
连接两个或多个字符串。等同于 +
例:
let str = "I love";
let str1 = 'China';
console.log(str.concat(str1));
输出:
12. trim()
删除字符串两端的空白符。
例:
let str = " I love China ";
console.log(str.trim());
输出:
注意:Internet Explorer 8 或更低版本不支持 trim()
方法。
如需支持 IE 8,您可搭配正则表达式使用 replace()
方法代替。
if (!String.prototype.trim) {
String.prototype.trim = function () {
return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '');
};
13. charAt()
返回字符串中指定下标(位置)的字符串。
例:
let str = "I love China";
console.log(str.charAt(0));
输出:
14.charCodeAt()
返回字符串中指定索引的字符 unicode 编码。
例:
let str = "I love China";
console.log(str.charCodeAt(0));
输出:
15.split()
将字符串转换为数组。
例:
let str = "I love China";
console.log(str.split(''));
console.log(str.split(' '));
console.log(str.split('#'));
console.log(str.split('&'));
输出:
参考: https://www.w3school.com.cn/js/js_string_methods.asp