天天看點

JavaScript:substring()和substr()方法

1、substring(start,end) :用于提取字元串中介于兩個指定下标之間的字元。

參數 描述
start 必需。一個非負的整數,規定要提取的子串的第一個字元在 stringObject 中的位置。
end

可選。一個非負的整數,比要提取的子串的最後一個字元在 stringObject 中的位置多 1。

           如果省略該參數,那麼傳回的子串會一直到字元串的結尾。

傳回值:

一個新的字元串,該字元串值包含 stringObject 的一個子字元串,其内容是從 start 處到 end-1 處的所有字元,其長度為 end 減 start。

注意:

substring 方法傳回的子串包括 start 處的字元,但不包括 end 處的字元。
如果 start 與 end 相等,那麼該方法傳回的就是一個空串(即長度為 0 的字元串)。
如果 start 比 end 大,那麼該方法在提取子串之前會先交換這兩個參數。
如果 start 或 end 為負數,那麼它将被替換為 0。

2、substr(start [, length ]):用于傳回一個從指定位置開始的指定長度的子字元串。

參數 描述
start 必需。所需的子字元串的起始位置。字元串中的第一個字元的索引為 0。
length 可選。在傳回的子字元串中應包括的字元個數。

注意:

如果start為負數,則start=str.length+start。
如果 length 為 0 或負數,将傳回一個空字元串。
如果沒有指定該參數,則子字元串将延續到stringObject的最後。

舉例:

var str = "0123456789";

alert(str.substring(0));------------"0123456789"

alert(str.substring(5));------------"56789"

alert(str.substring(10));-----------""

alert(str.substring(12));-----------""

alert(str.substring(-5));-----------"0123456789"

alert(str.substring(-10));----------"0123456789"

alert(str.substring(-12));----------"0123456789"

alert(str.substring(0,5));----------"01234"

alert(str.substring(0,10));---------"0123456789"

alert(str.substring(0,12));---------"0123456789"

alert(str.substring(2,0));----------"01"

alert(str.substring(2,2));----------""

alert(str.substring(2,5));----------"234"

alert(str.substring(2,12));---------"23456789"

alert(str.substring(2,-2));---------"01"

alert(str.substring(-1,5));---------"01234"

alert(str.substring(-1,-5));--------""

alert(str.substr(0));---------------"0123456789"

alert(str.substr(5));---------------"56789"

alert(str.substr(10));--------------""

alert(str.substr(12));--------------""

alert(str.substr(-5));--------------"56789"

alert(str.substr(-10));-------------"0123456789"

alert(str.substr(-12));-------------"0123456789"

alert(str.substr(0,5));-------------"01234"

alert(str.substr(0,10));------------"0123456789"

alert(str.substr(0,12));------------"0123456789"

alert(str.substr(2,0));-------------""

alert(str.substr(2,2));-------------"23"

alert(str.substr(2,5));-------------"23456"

alert(str.substr(2,12));------------"23456789"

alert(str.substr(2,-2));------------""

alert(str.substr(-1,5));------------"9"

alert(str.substr(-1,-5));-----------""   

繼續閱讀