对于JavaScript中的字符串,记住一句话:“字符串创建后不可修改”!
var s = 'abcd';
s[1]='e';
console.log(s[1]); //'b'
console.log(s); //'abcd'
JavaScript 的字符串是不可变的(immutable),String 类定义的方法都不能改变字符串的内容,返回的是全新的字符串,而不是修改原始字符串。
名称 | 作用 | 示例 | |
---|---|---|---|
charAt() | 返回在指定位置的字符。 | 示例:'abc'.charAt(1); //"b" | |
charCodeAt() | 返回在指定的位置的字符的 Unicode 编码。 | 示例:'abc'.charCodeAt(1); //98 | |
indexOf(searchvalue,fromindex) | 检索字符串,返回对应下标。 | 示例:'abcabc'.indexOf('b',0); //1 'abcabc'.indexOf('b',2); //4 | |
search(regexp) | 检索与正则表达式相匹配的值,返回对应下标。 | 示例:'abcabc'.search('b'); //1 'abcabc'.search(/b/img); //1 | |
match(regexp) | 找到一个或多个正则表达式的匹配,没有返回null,否则返回数组 | 示例:'abcabc'.match('b'); //["b"] 'abcabc'.match(/b/img); //["b", "b"] | |
PS:上述regexp,可以是子串、也可以是正则。 | |||
fromCharCode() | 从字符编码创建一个字符串。 | 示例:String.fromCharCode(65,66,67); //"ABC" | |
concat() | 连接字符串。 | 示例:'abc'.concat('def','ghi');; //"abcdefghi" | |
substr() | 从起始索引号提取字符串中指定数目的字符。 | 示例:'abcef'.substr(1,2); //"bc" | |
substring() | 提取字符串中两个指定的索引号之间的字符。 | 示例:'abcef'.substring(1,2); //"b" | |
localeCompare() | 用本地特定的顺序来比较两个字符串。 | 示例:'123'.localeCompare('123'); //0 '123'.localeCompare('456'); //-1 '456'.localeCompare('123'); //1 function sort(a,b){return a.localeCompare(b);} PS:把 < 和 > 运算符应用到字符串时,它们只用字符的 Unicode 编码比较字符串,而不考虑当地的排序规则。以这种方法生成的顺序不一定是正确的。例如,在西班牙语中,其中字符 “ch” 通常作为出现在字母 “c” 和 “d” 之间的字符来排序。 | |
replace(regexp/substr,replacement) | 替换与正则表达式匹配的子串。 | 示例:'abcabc'.replace('a','d'); //"dbcabc" 'abcabc'.replace(/a/g,'d'); //"dbcdbc" | |
slice(start,end) | 提取字符串的片断,并在新的字符串中返回被提取的部分。 | 示例:'abcabc'.slice(1,2); //"b" | |
split() | 把字符串分割为字符串数组。 | 示例:'abc'.split(''); //["a", "b", "c"] | |
toLocaleLowerCase() | 把字符串转换为小写。 | 示例:'ABC'.toLocaleLowerCase(); //"abc" | |
toLocaleUpperCase() | 把字符串转换为大写。 | 示例:'abc'.toLocaleUpperCase(); //"ABC" | |
toLowerCase( | 把字符串转换为小写。 | 示例:'ABC'.toLowerCase(); //"abc" | |
toUpperCase() | 把字符串转换为大写。 | 示例:'abc'.toUpperCase(); //"ABC" | |
PS:toLocaleLowerCase、toLocaleUpperCase只有几种语言(如土耳其语)具有地方特有的大小写映射,所有该方法的返回值通常与 toLowerCase()、toUpperCase() 一样。 | |||
toString() | 返回字符串。 | ||
valueOf() | 返回某个字符串对象的原始值。 | ||
PS:valueOf() 方法通常由JavaScript在后台自动进行调用,而不是显式地处于代码中。 |
/pattern/attributes i 执行对大小写不敏感的匹配。
m 执行多行匹配。
g 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。