建議學習時長: 30分鐘
學習方式:深入
學習目標
- 知道什么是字符串
- 了解字符串的常見方法
詳細介紹
概述
見這里 http://javascript.ruanyifeng.com/stdlib/string.html
常見方法
獲取字符串信息
- 是否是字符串
typeof 'abc' === 'string'; // 返回 true
typeof {} === 'string'; // 返回 false
typeof 123 === 'string'; // 返回 false
- string.indeOf - 查詢字符串中是否包含指定子字符串。若存在,則返回子字符串在字符串中的下標,否則返回 -1。
var str = 'abcde';
str.indexOf('b'); // 返回 1
str.indexOf('cd'); // 返回 2
str.indexOf('###'); // 返回 -1
- string.length - 返回數組長度
var str = 'abcde';
str.length; // 返回 5
- string.charAt(下標) - 取字符串中指定下標的字符。如果下標小于0或大于字符串長度,返回空字符。取指定下標的字符也可以用 string[下標]。
var str = 'abc';
str.charAt(1); // 返回 'b'
str[1]; // 返回 'b'
str.charAt(4); // 返回 ''yy
str.charAt(-1); // 返回 ''
- string.substring(開始下標[, 結束下標]) - 取字符串中指定范圍的子字符。
var str = 'abcde';
str.substring(1);// 返回 'bcde'
str.substring(1,3);// 'bc'
str.substring(0,3);// 'abc'
- string.substr(開始下標[, 長度]) - 取字符串中指定范圍的子字符。
var str = 'abcde';
str.substr(1);// 返回 'bcde'
str.substr(1,3);// 返回 'bcd'
str.substr(0,3);// 返回 'abc'
字符串變換
- string.replace - 將字符串中的部分內容替換。
var str = 'My name is {name}';
str.replace('{name}', 'Joel'); // 返回 'My name is Joel'
str; // 返回 'My name is {name}'
str = 'abc';
// 轉成大寫
str.replace(/[a-z]/, function(item){
return item.toUpperCase();
});// 返回 'Abc'
str.replace(/[a-z]/g, function(item){
return item.toUpperCase();
});// 返回 'ABC'
- string.toUpperCase - 將字符串變成大寫。
var str = 'abc1';
str.toUpperCase(); // 返回 'ABC1'
str; // 返回 'abc1'
- string.toLowerCase - 將字符串變成小寫。
- string.trim - 去除字符串兩頭的空格(包括 space, Tab 等)。IE 9+ 支持該方法。
var str = ' abc ';
str.trim(); // 返回 'abc'
str; // 返回 ' abc '
// 對于 IE 8 等老瀏覽器,可以做以下的兼容。如果用 jQuery ,可以用 $.trim(str)
if (!String.prototype.trim) {
String.prototype.trim = function () {
return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '');
};
}
- string.split - 將字符串分割成數組
var str = 'abc';
str.split(''); // 返回 ['a', 'b', 'c']
str; // 'abc'
str = 'a&b&c';
str.split('&'); // 返回 ['a', 'b', 'c']
str = 'a334b344c';
str.split(/\d+/); // 返回 ['a', 'b', 'c']