這包括:
charAtcharCodeAtconcatfromCharCode //String 類中的唯一靜態函數indexOflastIndexOflength //String 類中的唯一的屬性localeCompareslicesubstrsubstringtoUpperCasetoLowerCasetoLocaleUpperCasetoLocaleLowerCasesplittoStringvalueOf//下面三個函數和Regex密切相關, 到正則再說:matchreplacesearch//下面六個編碼解碼的函數是全域函數, 不屬於 String 類:escapeunescapeencodeURIdecodeURIencodeURIComponentdecodeURIComponent//ECMAScript 標準不再支援的字串函數:anchor、big、blink、bold、fixed、fontcolor、fontsize、italics、link、small、strike、sub、sup
charAt : 返回第幾個字元
var str = 'ABCD';alert(str.charAt(2)); //Cvar str = new String('萬一的 Delphi 部落格');alert(str.charAt(2)); //的
charCodeAt : 返回第幾個字元的編碼
var str = 'ABCD';alert(str.charCodeAt(2)); //67var str = new String('萬一的 Delphi 部落格');alert(str.charCodeAt(2)); //30340
concat : 連接字串
var s1, s2, s3, str;s1 = '萬一的'; s2 = ' Delphi '; s3 = '部落格';str = '這裡是: ';str = str.concat(s1, s2, s3);alert(str); //這裡是: 萬一的 Delphi 部落格
fromCharCode : 從字元編碼建立一個字串; 注意這是 String 類的靜態方法, 不被對象支援, 要通過 String 類名調用; String 的靜態方法只有這一個, 其他都不能這樣使用.
var str;str = String.fromCharCode(65, 66, 67, 68);alert(str); //ABCD str = String.fromCharCode(19975);alert(str); //萬str = String.fromCharCode(19975,19968,30340,32,68,101,108,112,104,105,32,21338,23458);alert(str); //萬一的 Delphi 部落格
indexOf : 返回子串首次出現的位置, 找不到返回 -1
var str = '萬一的 Delphi 部落格';alert(str.indexOf('萬')); //0alert(str.indexOf('D')); //4alert(str.indexOf('Delphi')); //4alert(str.indexOf('delphi')); //-1
lastIndexOf : 返回子串最後出現的位置(從後向前找), 找不到返回 -1
var str = 'ABCABC';alert(str.lastIndexOf('A')); //3alert(str.lastIndexOf('C')); //5alert(str.lastIndexOf('CAB')); //2alert(str.lastIndexOf('cab')); //-1
length : 返回字串長度, 它是 String 類中的唯一屬性, 還是唯讀屬性
var str = 'AB'; alert(str.length); //2str = '萬一'; alert(str.length); //2alert('萬一的 Delphi 部落格'.length); //13
localeCompare : 比較字串
var s1 = 'A', s2 = 'D';alert(s1.localeCompare(s2)); //-1alert(s2.localeCompare(s1)); //1alert('Delphi'.localeCompare('Delphi')); //0alert('Delphi'.localeCompare('delphi')); //1
slice : 截取字串; 參數為負就倒數; 第二個參數預設到尾
var str = 'ABCDEFG';alert(str.slice(1, 4)); //BCDalert(str.slice(1)); //BCDEFGalert(str.slice(1, -1)); //BCDEFalert(str.slice(-3, -1)); //EF
substr、substring : 和 slice 類似, 它們都是提取字串;
substr(起點位置, 長度);
substring(起點位置, 終點位置);
substring 和 slice 更相似, 但 substring 不使用負數參數.
var str = '123456', s1, s2;s1 = str.substr(1, 4);s2 = str.substring(1, 4);alert(s1 + '; ' + s2); //2345; 234s1 = str.substr(4, 1);s2 = str.substring(4, 1);alert(s1 + '; ' + s2); //5; 234/*和 slice 不一樣, substr 與 substring 最好都不用負數*/s1 = str.substr(-2, 2); //同 substr(0, 2)s2 = str.substring(-2, 2); //同 substring(0, 2)alert(s1 + '; ' + s2); //12; 12s1 = str.substr(0, 2);s2 = str.substring(0, 2);alert(s1 + '; ' + s2); //12; 12s1 = str.substr(1, 2);s2 = str.substring(1, 2);alert(s1 + '; ' + s2); //23; 2/*如果省略了第二個參數, substr 與 substring 是一樣的*/s1 = str.substr(2);s2 = str.substring(2);alert(s1 + '; ' + s2); //3456; 3456
toUpperCase、toLowerCase、toLocaleUpperCase、toLocaleLowerCase : 大小寫轉換
var str = 'Delphi';alert(str.toUpperCase()); //DELPHIalert(str.toLowerCase()); //delphialert(str.toLocaleUpperCase()); //DELPHIalert(str.toLocaleLowerCase()); //delphi
split : 分割字串
var str, arr;str = 'Delphi/C++/JavaScript'arr = str.split('/'); //將返回 ['Delphi', 'C++', 'JavaScript']alert(arr[0]); //Delphi/*可以限制返回數組的維數*/arr = str.split('/', 2); //將返回 ['Delphi', 'C++']alert(arr[1]); //C++alert(arr[2]); //undefined (表示不存在)/*用空格分割*/str = 'Delphi 2009';arr = str.split(' '); //將返回 ['Delphi', '2009']alert(arr[1]); //2009/*假如用空串分割*/str = 'Delphi';arr = str.split(''); //將返回 ['D', 'e', 'l', 'p', 'h', 'i']alert(arr[1]); //e/*最有意思的是它可以用Regex分割, 其實上個例子就是正則的理念了, 這會專題學習*/str = 'A1B2C3D4';arr = str.split(/\d/); //將返回 ['A', 'B', 'C', 'D']alert(arr[1]); //B
toString、valueOf : 這兩個函數用於字串時還是返回字串本身, 沒有實用價值
var str = 'Delphi';alert(str.toString()); //Delphialert(str.valueOf()); //Delphi
escape、unescape : 編碼、解碼; 它們(包括之後的函數)是全域函數, 不屬於 String 類
var str;str = escape('萬一的 Delphi 部落格');alert(str); //%u4E07%u4E00%u7684%20Delphi%20%u535A%u5BA2str = unescape(str);alert(str); //萬一的 Delphi 部落格
encodeURI、decodeURI、encodeURIComponent、decodeURIComponent : 選擇編碼、解碼;
encodeURI 對非 ASCII 字元編碼;
encodeURIComponent 和 encodeURI 類似, 但也給 ASCII 中的特殊字元編碼.
var str = 'http://del.cnblogs.com?x=萬一';str = encodeURI(str);alert(str); //http://del.cnblogs.com?x=%E4%B8%87%E4%B8%80str = decodeURI(str);alert(str); //http://del.cnblogs.com?x=萬一str = encodeURIComponent(str);alert(str); //http%3A%2F%2Fdel.cnblogs.com%3Fx%3D%E4%B8%87%E4%B8%80str = decodeURIComponent(str);alert(str); //http://del.cnblogs.com?x=萬一