JavaScript-08 String物件
阿新 • • 發佈:2020-08-16
一、字串的屬性
字串物件常用的屬性有長度屬性,即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>