1. 程式人生 > 實用技巧 >JavaScript-08 String物件

JavaScript-08 String物件

一、字串的屬性

  字串物件常用的屬性有長度屬性,即length。它用於獲得字串中字元的個數。字串名.length。

二、字串的方法

  1.toUpperCase();把字串中的小寫字母轉變成大寫

  2.toLowerCase();把字串中的大寫字母轉變成小寫

  3.charAt(下標); 獲取字串中對應下標的字元

  4.charCodeAt(下標); 獲取字串中對應下標的字元編碼

  5.String.fromCharCode();將字元編碼轉換成字元

  6. indexOf(); 檢索字串。

    變數名.indexOf("查詢的內容"); 如果找到匹配的內容,返回第一次出現的下標,否則返回-1;

    變數名.lastIndexOf("查詢的內容");如果找到匹配的內容,返回最後一次出現的下標,否則返回-1;

  7.字串的擷取

    7.1substring("開始位置","結束位置");擷取從開始位置到結束位置【但不包含結束位置上的元素】的字元。

      若沒有設定結束位置:substring("開始位置");則會從開始位置,擷取剩餘的所有字元。

    7.2substr("開始位置","擷取長度");

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
        <script type="text/javascript">
            //
定義一個字串 var str = "abCDefgHIJKLmDno"; document.write(str); document.write("<br>"); // 把字串中的小寫字母轉變成大寫 document.write(str.toUpperCase()); // 輸出 ABCDEFGHIJKLMNO document.write("<br>"); // 把字串中的大寫字母轉變成小寫
document.write(str.toLowerCase()); //輸出 abcdefghijklmno document.write("<br>"); // 獲取字串中對應下標的字元 document.write(str.charAt(3)); // 輸出 D document.write("<br>"); // 獲取字串中對應下標的字元編碼 document.write(str.charCodeAt(3)); // 輸出 68 == D document.write("<br>"); // 將字元編碼轉換成字元 var m = String.fromCharCode(68); document.write(m); // 輸出 D document.write("<br>"); // 檢索字串。 //var str = "abCDefgHIJKLmDno"; document.write(str.indexOf("D")); // 返回第一個陣列下標 3 document.write("<br>"); document.write(str.lastIndexOf("D")); // 返回最後陣列下標 13 document.write("<br>"); // 字串的擷取substring("開始位置","結束位置") document.write(str.substring(3,6)); // 擷取下標[3,6)的字串,輸出Def document.write("<br>"); document.write(str.substring(3)); // 擷取下標[3,最後)的字串,輸出DefgHIJKLmDno document.write("<br>"); // 字串的擷取substr("開始位置","擷取長度"); document.write(str.substr(3,3)); // 擷取下標為3開始數,長度為3的的字串,輸出Def </script> </body> </html>

三、練習

  1.隨意輸入一個字串,從中獲取所有的數字。

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>

    <body>
    </body>
    <script type="text/javascript">
      var str="w34r384hugw949843hg37rdfhasi723hhiay29";
        //    獲取字串中的數字:for + arr
        // 定義一個空的陣列
        var arr = [];
        // 定義一個空的字串
        var tempStr = "";
        for(var i = 0; i < str.length; i++) {
            // 判斷字串中某個字元的字元編碼是否為數字,如果為數字,則放在新的字串中
            if(str.charCodeAt(i) >= 48 && str.charCodeAt(i) <= 57) {
                tempStr += str[i];
            } 
            // 如果遇到不是數字的,就把前面數字放到陣列中,然後清空tempStr字串
            else {
                if(tempStr.length > 0) {
                    arr.push(tempStr);
                    tempStr = "";
                }
            }
        }
        // 獲取最後字串中,是否為數字
        if(tempStr.length > 0) {
             arr.push(tempStr);
             tempStr = "";
         }
        document.write(arr.toString());
    </script>

</html>