JS中substr和substring的用法和區別


substr 和 substring都是JS 截取字符串函數,兩者用法很相近,下面是兩者的語法很示例:

substr 方法

返回一個從指定位置開始的指定長度的子字符串。

stringvar.substr(start [, length ])

參數

stringvar

必選項。要提取子字符串的字符串文字或 String 對象。

start

必選項。所需的子字符串的起始位置。字符串中的第一個字符的索引為 0。

length

可選項。在返回的子字符串中應包括的字符個數。

說明

如果 length 為 0 或負數,將返回一個空字符串。如果沒有指定該參數,則子字符串將延續到 stringvar 的最后。

示例代碼

function SubstrDemo(){

var s, ss; // 聲明變量。

var s = "The rain in Spain falls mainly in the plain.";

ss = s.substr(12, 5); // 獲取子字符串。

return(ss); // 返回 "Spain"。

}

 

substring 方法

返回位於 String 對象中指定位置的子字符串。

strVariable.substring(start, end)

"String Literal".substring(start, end)

參數

start

指明子字符串的起始位置,該索引從 0 開始起算。

end

指明子字符串的結束位置,該索引從 0 開始起算。

說明

substring 方法將返回一個包含從 start 到最后(不包含 end )的子字符串的字符串。

substring 方法使用 start 和 end 兩者中的較小值作為子字符串的起始點。例如, strvar.substring(0, 3) 和 strvar.substring(3, 0) 將返回相同的子字符串。

如果 start 或 end 為 NaN 或者負數,那么將其替換為0。

子字符串的長度等於 start 和 end 之差的絕對值。例如,在 strvar.substring(0, 3) 和 strvar.substring(3, 0) 返回的子字符串的的長度是 3。

示例代碼

function SubstringDemo(){

var ss; // 聲明變量。

var s = "The rain in Spain falls mainly in the plain..";

ss = s.substring(12, 17); // 取子字符串。

return(ss); // 返回子字符串。

}

 

【注】:應用substr和substring兩個函數截取帶有空格的字符串后的長度是每個空格算一個字符長度。例如:

        var a = "I am shi huan!"; a.substring(0, 5).length的值是5,而不是4,

        但alert(a.substring(0, 5));的值卻是I am ,這樣在做alert("I am" == a.substring(0, 5));的時

        候就是false了,alert("I am" == a.substring(0, 4));才是true。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM