JS提供兩個截取字符串的方法,分別是:slice()和substring()
slice和substring都可以接受一個或兩個參數(shù),第1個參數(shù)是獲取要截取的字符串的直始位置,第2個參數(shù)如果不為空則是獲取要截取的字符串的結(jié)束位置的前一位(也就是說獲取的終點(diǎn)位置不在返回值內(nèi)),為空表示截取到整個字符串的最后一個字符。
我們來看下兩種方法的用法
注意:字符串的位數(shù)都是從0開始
var stmp = "rcinn.cn";
alert(stmp.slice(3));//從第4個字符開始,截取到最后個字符;返回"nn.cn"
alert(stmp.substring(3));//從第4個字符開始,截取到最后個字符;返回"nn.cn"
alert(stmp.slice(1,5))//從第2個字符開始,到第5個字符;返回"cinn"
alert(stmp.substring(1,5));//從第2個字符開始,到第5個字符;返回"cinn"
//如果只用一個參數(shù)并且為0的話,那么返回整個參數(shù)
alert(stmp.slice(0));//返回整個字符串
alert(stmp.substring(0));//返回整個字符串
//那如何只反回第一個字符呢,可以用其它的函數(shù),那如果一定要用這兩個方法的話就指定第一個參數(shù)為0,第二個參數(shù)為1,看下面的例子
alert(stmp.slice(0,1));//返回"r"
alert(stmp.substring(0,1));//返回"r"
//在上面的例子中我們可以看出slice()和substring()的用法是相同的,返回的值也是一樣的,但當(dāng)參數(shù)為負(fù)數(shù)時(shí),他們的返回值卻不一樣,看下面的例子
alert(stmp.slice(2,-5));//返回"i"
alert(stmp.substring(2,-5));//返回"rc"
//從上面兩個例子可以看出slice(2,-5)實(shí)際上是slice(2,3),負(fù)5轉(zhuǎn)換成正3;而substring(2,-5)實(shí)際上是substring(2,0),負(fù)數(shù)轉(zhuǎn)換為0,swubstring總是把最小的數(shù)作為起始位置。
該文章在 2011/12/14 22:50:47 編輯過