substr()和substring()區別

admin發表於2018-07-30

標題中的兩個方法都可以用來擷取字串,下面介紹一下它們兩者之間的區別。

更多字串物件方法參閱JavaScript String 字串一章節。

一.substring方法:

此方法可以擷取介於兩個字元索引之間的所有字元。

返回值是一個新的子串,原來的字串並沒有被修改。

特別說明:此方法符合W3C標準,推薦使用。

語法結構:

[JavaScript] 純文字檢視 複製程式碼
stringObject.substring(start,stop)

引數解析:

(1).start:必需,開始擷取字串的索引位置,此位置字元將會被擷取。

(2).stop:可選,結束擷取字串的索引位置,此位置的字元不會被擷取,如果省略該引數,將一直擷取到結尾。

程式碼例項:

[JavaScript] 純文字檢視 複製程式碼執行程式碼
var str="antzone";
console.log(str.substring(1,4));
console.log(str)

以上程式碼可以擷取包裹第二個字元在內的三個字串,索引位置4所在的字元不被擷取,原來的字串沒有被改變。

二.substr方法:

此方法可以從指定的索引位置開始擷取指定長度的字串。

返回值是一個新的子串,原來的字串並沒有被修改。

特別說明:此方法不符合W3C標準,說不定哪天就會被廢棄,不推薦使用。

語法結構:

[JavaScript] 純文字檢視 複製程式碼
stringObject.substr(start,length)

引數解析:

(1).start:必需,開始擷取字串的索引位置,此位置的字元將會被擷取。

(2).length:可選,要擷取字串的長度,為零則返回一個空字串,沒有指定該引數,將一直擷取到結尾。

程式碼例項:

[JavaScript] 純文字檢視 複製程式碼執行程式碼
var str="antzone";
console.log(str.substr(1,4));
console.log(str)

以上程式碼可以從索引位置1處開始擷取一個長度為4的字串,原來的字串沒有被改變。

相關文章