理順 JavaScript (5) – 符合 ECMAScript 標準的字串函數

來源:互聯網
上載者:User
這包括:
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=萬一

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.