substring()方法
方法用於提取字符串中介於兩個指定下標之間的字符
substring(start,end)
參數 | 描述 |
start | 必需。一個非負的整數,規定要提取的子串的第一個字符在 stringObject 中的位置。 |
stop | 可選。一個非負的整數,比要提取的子串的最后一個字符在 stringObject 中的位置多 1。如果省略該參數,那么返回的子串會一直到字符串的結尾。 |
返回值
一個新的字符串,該字符串值包含 stringObject 的一個子字符串,其內容是從 start 處到 stop-1 處的所有字符,其長度為 stop 減 start。
說明
substring 方法返回的子串包括 start 處的字符,但不包括 end 處的字符。 如果 start 與 end 相等,那么該方法返回的就是一個空串(即長度為 0 的字符串)。 如果 start 比 end 大,那么該方法在提取子串之前會先交換這兩個參數。 如果 start 或 end 為負數,那么它將被替換為 0。
substr 方法
定義和用法
substr 方法用於返回一個從指定位置開始的指定長度的子字符串。
語法
stringObject.substr(start [, length ])
參數 | 描述 |
start | 必需。所需的子字符串的起始位置。字符串中的第一個字符的索引為 0。 |
length | 可選。在返回的子字符串中應包括的字符個數。 |
說明
如果start為負數,則start=str.length+start。 如果 length 為 0 或負數,將返回一個空字符串。 如果沒有指定該參數,則子字符串將延續到stringObject的最后。
首先,他們都接收兩個參數,slice和substring接收的是起始位置和結束位置(不包括結束位置),而substr接收的則是起始位置和所要返回的字符串長度。直接看下面例子:
var test = 'hello world'; alert(test.slice(4,7)); //o w alert(test.substring(4,7)); //o w alert(test.substr(4,7)); //o world
這里有個需要注意的地方就是:substring是以兩個參數中較小一個作為起始位置,較大的參數作為結束位置。 如:
alert(test.substring(7,4)); //o w
接着,當接收的參數是負數時,slice會將它字符串的長度與對應的負數相加,結果作為參數;substr則僅僅是將第一個參數與字符串長度相加后的結果作為第一個參數;substring則干脆將負參數都直接轉換為0。測試代碼如下
var test = 'hello world'; alert(test.slice(-3)); //rld alert(test.substring(-3)); //hello world alert(test.substr(-3)); //rld alert(test.slice(3,-4)); //lo w alert(test.substring(3,-4)); //hel alert(test.substr(3,-4)); //空字符串
1 注意:IE對substr接收負值的處理有錯,它會返回原始字符串。
https://www.98891.com/article-95-1.html
slice() 方法
slice() 方法可提取字符串的某個部分,並以新的字符串返回被提取的部分。
stringObject.slice(start,end)
參數 | 描述 |
---|---|
start | 要抽取的片斷的起始下標。如果是負數,則該參數規定的是從字符串的尾部開始算起的位置。也就是說,-1 指字符串的最后一個字符,-2 指倒數第二個字符,以此類推。 |
end | 緊接着要抽取的片段的結尾的下標。若未指定此參數,則要提取的子串包括 start 到原字符串結尾的字符串。如果該參數是負數,那么它規定的是從字符串的尾部開始算起的位置。 |
一個新的字符串。包括字符串 stringObject 從 start 開始(包括 start)到 end 結束(不包括 end)為止的所有字符。 說明 String 對象的方法 slice()、substring() 和 substr() (不建議使用)都可返回字符串的指定部分。slice() 比 substring() 要靈活一些,因為它允許使用負數作為參數。slice() 與 substr() 有所不同,因為它用兩個字符的位置來指定子串,而 substr() 則用字符位置和長度來指定子串。 還要注意的是,String.slice() 與 Array.slice() 相似。
實例
<script type="text/JavaScript"> var str="Hello happy world!" document.write(str.slice(6)) </script>
輸出:
happy world!
例子 2
<script type="text/javascript"> var str="Hello happy world!" document.write(str.slice(6,11)) </script>
輸出:
happy