JS字符串經常使用方法

http://www.javashuo.com/article/p-rfoifhvi-c.htmlhtml

關於字符串分割 
一、slice(start,end); 
關於這個方法,必定要搞懂四個關鍵點:正則表達式

(1)截取字符串時不包括下標爲end的元素。數組

(2)end是可選參數,沒有時,默認從start到結束的全部字符串。ui

(3)String.slice與Array.slice區別。編碼

(4)參數爲負數時,是如何處理的。spa

其中第3點其實就是在JavaScript中字符串和數組都具備這個方法,它們的返回結果形式不同,一個是一段字符串,一個是一段淺複製後的數組。另外三個點接着往下看你就會明白。3d

二、substr(start,length);code

關於這個方法,也須要搞懂幾個關鍵點:regexp

(1)第二個參數是子串中的字符數,必須是數值。能夠沒有。htm

(2)參數爲負數時如何進行處理。

(3)最重要一點來自官網說明,以下所示:

**ECMAscript 沒有對該方法進行標準化,所以反對使用它。**
  • 1

因爲substr() 的參數指定的是子串的開始位置和長度,所以它能夠替代 substring() 和 slice() 來使用。

三、substring(start,end);

和slice相似,關於這個方法,一樣須要搞懂幾個關鍵點:

(1)返回的字符串中不包括 end處的字符。

(2)參數爲負數時如何進行處理。

(3)若是參數 start 與 stop 相等,那麼該方法返回的就是一個空串(即長度爲 0 的字符串)。

(4)若是 start 比 stop 大,那麼該方法在提取子串以前會先交換這兩個參數。

這個方法的做用一樣可使用slice方法來替代。

區別和使用:

(一):都接收兩個參數,slice和substring接收的是起始位置和結束位置(注意:不包括結束位置),而substr接收的則是起始位置和所要返回的字符串長度。

這裏寫圖片描述 
看一下控制檯運行出來的結果,其中slice/substring都是從0開始截取3到6位置但不包括6位置的字符串」lo 「,對比之下,substr截取3位置以後的6個字符串」lo wor」。

(二):須要注意substring是以兩個參數中較小一個做爲起始位置,較大的參數做爲結束位置。 
這裏寫圖片描述

上面這個(6,3)會默認變成(3,6)將小的當起始位置來處理。

(三):參數爲負數時如何解析。

(我認爲這種負數的狀況就應該在標準中禁止掉,參數中有負數時直接報錯就行,可如今居然能爲負數,那咱們只有兩條出路:1,避免在code的時候出現它;2,就是今天咱們要作的,完全搞懂它。一次性消滅掉)

slice:將字符串的長度與對應的負數相加,結果做爲參數。

substr:只會將第一個參數與字符串長度相加後的結果做爲第一個參數(第一個參數爲負數)。

substring:直接將負參數直接轉成0。

 

1.   charAt()         返回指定位置的字符。

str.charAt(index)  
index 爲必須參數,類型爲number(0到str.length-1之間,不然該方法返回 空串)
另外:str.charAt()即不帶參數和str.charAt(NaN)均返回字符串的第一個字符

2.   charCodeAt()       返回在指定的位置的字符的 Unicode 編碼。

str.charCodeAt(index)  
index 爲必須參數,類型爲number(0到str.length-1之間,不然該方法返回 NaN)

3.   concat()      用於鏈接兩個或多個字符串。  

var a = "hello",b = "kitty",c = "!";
a.concat(b,c) // 功能和 「+」 拼接沒啥兩樣

4.   fromCharCode()       接受一個指定的 Unicode 值,而後返回一個字符串。

String.fromCharCode(unicode1,unicode2,...,nuicodeX) 該方法是 String 的靜態方法,語法應該是 String.fromCharCode()。

5.   indexOf() 方法          返回指定字符串在字符串中首次出現的位置。匹配不到則返回-1。

str.indexOf(searchStr,startIndex)  
searchStr必選,表示須要匹配的字符串值;
startIndex可選,取值範圍0到str.length-1,省略則默認首字符開始檢索。

6.   lastIndexOf()            返回指定字符串值最後出現的位置,在一個字符串中的指定位置從後向前搜索。

str.lastIndexOf(searchStr,startIndex)  
searchStr必選,表示須要匹配的字符串值;
startIndex可選,取值範圍0到str.length-1,省略則默認尾字符開始檢索。

7.   match()               在字符串內檢索指定的值,或找到一個或多個正則表達式的匹配。匹配不到返回Null。

複製代碼
str.match(regExp)  

複製代碼

8.   replace()    用於在字符串中用一些字符替換另外一些字符,或替換一個與正則表達式匹配的子串。

複製代碼
str.replace(regexp/substrOld,replaceStrNew)  
 
 
複製代碼

9.   search()    用於檢索字符串中指定的子字符串,或檢索與正則表達式相匹配的子字符串。無匹配返回-1。

str.search(regexp/substr)  返回值:str中第一個與正則或字符串相匹配的子串的起始位置。

  說明 search() 方法不執行全局匹配,它將忽略標誌 g。它同時忽略 regexp 的 lastIndex 屬性,而且老是從字符串的開始進行檢索,這意味着它老是返回 stringObject 的第一個匹配的位置。

10.  slice()     提取字符串的某個部分,並以新的字符串返回被提取的部分。

str.slice(startIndex,endIndex)  返回值包含startIndex不包含endIndex
忽略endIndex則返回包括startIndex到原字符串結尾的字符串
另外參數還有負數反向用法

11.  split()    用於把一個字符串分割成字符串數組。

str.split()  

12.  substr() 方法可在字符串中抽取從 start 下標開始的指定數目的字符。

str.substr(startIndex,length)  忽略length則返回從startIndex到字符串尾字符

13.  substring() 方法用於提取字符串中介於兩個指定下標之間的字符。

str.substring(startIndex,endIndex)  忽略endIndex則返回從startIndex到字符串尾字符

14.  toLocaleUpperCase() / toLocaleLowerCase()   用於字符串轉換大小寫(與下面的方法方法僅在某些外國小語種有差異)

15.  toUpperCase() / toLowerCase()   用於字符串轉換大小寫

相關文章
相關標籤/搜索