1.JavaScript查找字符方法

首先看一張 有關字符串函數的查找字符的方法圖 接下里補充里面的方法說明
2.charAt()
charAt() 方法返回字符串中指定位置的字符
語法
str.charAt(index) index: 0 到字符串長度 -1 的一個整數。
字符串中的字符從左向右索引,第一個字符的索引值為 0,最后一個字符(假設該字符位於字符串 stringName 中)的索引值為 stringName.length - 1。 如果指定的 index 值超出了該范圍,則返回一個空字符串。

3. charCodeAt()
charCodeAt() 方法返回0到65535之間的整數,代表索引處字符的 UTF-16編碼單元(在Unicode編碼單元表示一個單一的UTF-16編碼單元的情況下,UTF-16編碼單元匹配Unicode編碼單元。否則, 比如Unicode 編碼單元 > 0x10000 的情況下,只能匹配Unicode代理對的第一個編碼單元)。如果你希望得到整點編碼值,使用codePointAt()
語法
str.charCodeAt(index) index: 一個大於等於0 小於字符串長度的整數。如果不是一個數值 就默認為0;
如果指定的index 小於0 或者大於字符串的長度 charCodeAt()返回NaN。
4. 查找位置的方法

A): indexOf() 方法返回指定值在字符串對象中首次出現的位置。從fromIndex位置開始查找 如果不存在 則返回-1。
str.indexOf(searchValue[,fromIndex]);
searchValue 一個字符串表示被查找的值。
formIndex 可選 表示調用該方法的字符串中開始查找的位置 可以是任意整數 默認值是0。如果fromIndex < 0 則查找整個字符串(如同傳進了0)
如果 formIndex >= str.length 則該方法返回-1 。除非被查找的字符串是一個空字符串 此時返回str.length。

indexOf區分大小寫
'hello world'.indexOf('Hel'); //-1 返回-1
可以用來檢測是否存在某字符串 (當檢測某個字符串是否存在於另一個字符串中 可使用下面的方法)。
'hello world'.indexOf('hello') !== -1; //true
'hello world'.indexOf('helol') !== -1; //false
使用indexOf 統計一個字符串中某個字母出現的次數。
這是我自己封裝的一個檢測函數

4.lastIndexOf
lastIndexOf() 方法返回指定值在調用該方法的字符串中最后出現的位置 如果沒有找到則返回-1; 從該字符串的后面向前查找 從formIndex處開始
lastIndexOf(serachValue [,formIndex])
-
searchValue - 一個字符串,表示被查找的值。
-
fromIndex -
從調用該方法字符串的此位置處開始查找。可以是任意整數。默認值為
str.length。如果為負值,則被看作 0。如果fromIndex > str.length,則fromIndex被看作str.length。 -
- 同樣的 可以使用lastIndexOf() 也可用來計算字符在字符串中出現的次數
-
5. 匹配方法 String.prototype.match()
當字符串匹配到正則表達式(regular experssion) match()方法會提取

6. replace()
replace() 方法使用一個替換值()替換掉一個匹配模式 在原字符串中某些或所有的匹配項 並返回替換后的新字符串 這個替換模式可以是一個字符串或一個RegExp
語法
str.replace(regexp|substr,newSubStr|function)
參數
-
regexp(pattern) -
一個
RegExp對象。該正則所匹配的內容會被第二個參數的返回值替換掉。
-
substr(pattern) -
一個要被
newSubStr替換的字符串。
-
function(replacement) - 一個用來創建新子字符串的函數,該函數的返回值將替換掉第一個參數匹配到的結果。參考下面的指定一個函數作為參數。
返回值
一部分或全部匹配由替代模式所取代的新的字符串

7.split()
Split() 通過把字符串分割成子字符串來把一個String 對象分割成一個字符串數組
str.split([separator][,limit])
參數:
separator
指定用來分割字符串的字符 separator 可以是一個字符串或這則表達式 如果忽略separator 則返回這個字符串的數組形式 如果 separator 是一個空字符串,則 str 將會把原字符串中每個字符的數組形式返回。
-
limit -
一個整數,限定返回的分割片段數量。
split方法仍然分割每一個匹配的separator,但是返回的數組只會截取最多limit個元素。
split 方法返回一個數組。
當找到一個 seperator 時,separator 會從字符串中被移除,返回存進一個數組當中的子字符串。如果忽略 separator 參數,則返回的數組包含一個元素,該元素是原字符串。如果 separator 是一個空字符串,則 str 將被轉換為由字符串中字符組成的一個數組。
如果 separator 是一個正則表達式,且包含捕獲括號(capturing parentheses),則每次匹配到 separator 時,捕獲括號匹配的結果將會插入到返回的數組中。然而,不是所有瀏覽器都支持該特性。
Note: 當字符串為空時 split返回一個包含一個空字符串的數組 而不是一個空數組

