JavaScript 字符串常用方法

获取字符串信息

是否是字符串

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); // 返回 ''  
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']