[toc]
###(1) str.length => 返回字符串的長度
~~~
var str = 'JavaScript';
str.length; // 10
~~~
###(2) str.charAt(n) => 返回字符串的第n個字符,如果n不在0 ~ str.length-1之間,返回一個空字符串
~~~
var str = 'JavaScript';
str.charAt(3); // 'a'
str.charAt(10); // ''
~~~
###(3) str.indexOf(substr[, start]) => 返回 substr 在字符串 str 中首次出現的位置,從 start 位置開始查找,如果不存在,則返回 -1。
start可以是任意整數,默認值為 0。如果 start < 0 則查找整個字符串(如同傳進了 0)。如果 start >= str.length,則該方法返回 -1,除非被查找的字符串是一個空字符串,此時返回 str.length
~~~
var str = 'JavaScript';
str.indexOf('av'); // 1
str.indexOf('av',2); // -1
str.indexOf('',11); // 10
str.indexOf('',8); // 8
~~~
eg: 使用 indexOf 統計一個字符串中某個字母出現的次數
~~~
var str = 'To be, or not to be, that is the question.';
var count = 0;
var pos = str.indexOf('e');
while (pos !== -1) {
count++;
pos = str.indexOf('e', pos + 1);
}
console.log(count); // 4
~~~
###(4) str.lastIndexOf(substr[, start]) => 返回 substr 在字符串 str 中最后出現的位置,從 start 位置向前開始查找,如果不存在,則返回 -1。
```
"canal".lastIndexOf("a") // 3
```
###(5) str.includes(substr[, start]) => ES6方法判斷 substr 是否被包含在 str 中,如果是返回true,否則返回false
~~~
var str = 'To be, or not to be, that is the question.';
str.includes('To be'); // true
str.includes('To be', 1); // false
str.includes('TO BE'); // false
~~~
###(6) str.startsWith(substr[, start]) => ES6方法判斷 str 是否是以 substr “開頭”的,如果是返回true,否則返回false
~~~
var str = "To be, or not to be, that is the question.";
str.startsWith("To be"); // true
str.startsWith("not to be"); // false
str.startsWith("not to be", 10); // true
~~~
###(7) str.endsWith(substr[, n]) => ES6方法判斷 str 是否是以 substr “結尾”的,如果是返回true,否則返回false。可選參數n表示前n個字符,默認值 str.length
~~~
var str = "To be, or not to be, that is the question.";
str.endsWith("question."); // true
str.endsWith("to be"); // false
str.endsWith("To be", 5); // true
~~~
###(8) str.repeat(n) => ES6方法返回一個新字符串,表示將str重復n次,n >= 0
~~~
"abc".repeat(0) // ""
"abc".repeat(1) // "abc"
"abc".repeat(2) // "abcabc"
"abc".repeat(3.6) // "abcabcabc"
~~~
###(9) str.toLowerCase() => 將 str 轉換為小寫,并返回 str 的一個副本,不影響字符串本身的值
~~~
var str = 'JavaScript';
str.toLowerCase(); // 'javascript'
console.log(str); // 'JavaScript'
~~~
###(10) str.toUpperCase() => 將 str 轉換為大寫,并返回 str 的一個副本,不影響字符串本身的值
~~~
var str = 'JavaScript';
str.toUpperCase(); // 'JAVASCRIPT'
console.log(str); // 'JavaScript'
~~~
###(11) str.trim() => 去除 str 開頭和結尾處的空白字符,返回 str 的一個副本,不影響字符串本身的值
~~~
var orig = ' foo ';
orig.trim(); // 'foo'
console.log(orig); // ' foo '
~~~
###(12) str.substring(start[, end]) => 返回從 start 到 end(不包括)之間的字符,start、end均為非負整數
~~~
var str = 'JavaScript';
str.substring(0,4); // 'Java'
str.substring(4,0); // 'Java',start > end,執行效果相當于將兩個參數調換
str.substring(4,4); // '',start == end,返回空字符串
~~~
###(13) str.substr(start[, length]) => 返回 str 中從指定位置開始到指定長度的子字符串,start可為負值
~~~
var str = 'JavaScript';
str.substr(0,4); // 'Java'
str.substr(-6,6); //'Script'
~~~
###(14) str.slice(start[, end]) => 返回從 start 到 end(不包括)之間的字符,start、end可為負值
~~~
var str = 'The morning is upon us!';
str.slice(4, -1); // 'morning is upon us'
str.slice(1, 3); // 'he'
~~~
###(15) str.replace(regexp|substr, newSubStr|function) => 替換 str 的子字符串
~~~
var str = "Apples are round, and apples are juicy.";
str.replace('apples','oranges'); // "Apples are round, and oranges are juicy."
str.replace(/apples/gi, "oranges"); // "oranges are round, and oranges are juicy."
~~~
###(16) str.search(regexp) => 查找 str 與一個正則表達式是否匹配。如果匹配成功,則返回正則表達式在字符串中首次匹配項的索引;否則,返回 -1。如果參數傳入的是一個非正則表達式對象,則會使用 new RegExp(obj) 隱式地將其轉換為正則表達式對象
~~~
var str = 'I love JavaScript!';
str.search(/java/); // -1
str.search(/Java/); // 7
str.search(/java/i); // 7
str.search('Java'); // 7
~~~
###(17) str.match(regexp) => 返回一個包含匹配結果的數組,如果沒有匹配項,則返回 null。如果參數傳入的是一個非正則表達式對象,則會使用 new RegExp(obj) 隱式地將其轉換為正則表達式對象
~~~
var str = 'Boy boy, Gay gay!';
str.match(/boy/); // ["boy"]
str.match(/gay/gi); // ["Gay", "gay"]
str.match(/lesbian/g); // null
~~~
###(18) str.split([separator][, limit]) => 返回一個數組,分隔符 separator 可以是一個字符串或正則表達式
~~~
var str = "Hello?World!";
str.split(); // ["Hello?World!"]
str.split(''); // ["H", "e", "l", "l", "o", "?", "W", "o", "r", "l", "d", "!"]
str.split('?'); // ["Hello", "World!"]
str.split('',5); // ["H", "e", "l", "l", "o"]
~~~
- JavaScript手冊
- Array函數
- String函數
- Date函數
- Mach函數
- Regexp函數
- Location函數
- Window 函數
- Other函數
- History函數
- Navigator函數
- Event函數
- Dom函數
- Json函數
- Sea.js手冊
- JavaScript學習總結
- 1.基礎部分
- 2.對象部分
- 3.BOM和DOM詳解
- 4.function函數部分
- 5.原型和原型鏈詳解
- 6.數據類型和JSON格式
- 7.Ajax和Http狀態字
- 8.正則表達式
- 9.事件詳解
- 前端相關網址
- 前端干貨文章
- JavaScript字符串常用的一些方法
- 前端開發知識體系
- JavaScript速成課
- 移動端開發技巧
- 移動端Web頁面問題解決方案
- 20個常用的CSS技巧
- 學習JavaScript設計模式
- 前端開發學習總結