JavaScript:string
對於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) |
檢索與Regex相匹配的值,返回對應下標。 |
樣本:'abcabc'.search('b'); //1
'abcabc'.search(/b/img); //1 |
|
match(regexp) |
找到一個或多個Regex的匹配,沒有返回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) |
替換與Regex匹配的子串。 |
樣本:'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 執行全域匹配(尋找所有匹配而非在找到第一個匹配後停止)。