javascript中substring()、substr()、slice()的區(qū)別
stringObject.substring(start,stop) 用于提取字符串中介于兩個(gè)指定下標(biāo)之間的字符。
start必需。一個(gè)非負(fù)的整數(shù),規(guī)定要提取的子串的第一個(gè)字符在 stringObject 中的位置。
stop可選。一個(gè)非負(fù)的整數(shù),比要提取的子串的最后一個(gè)字符在 stringObject 中的位置多 1。如果省略該參數(shù),那么返回的子串會(huì)一直到字符串的結(jié)尾。
start從0開始 到stop(不包含stop)結(jié)束 不接受負(fù)的參數(shù)。
stringObject.substr(start,length)可在字符串中抽取從start下標(biāo)開始的指定數(shù)目的字符
start 必需。要抽取的子串的起始下標(biāo)。必須是數(shù)值。如果是負(fù)數(shù),那么該參數(shù)聲明從字符串的尾部開始算起的位置。也就是說,-1 指字符串中最后一個(gè)字符,-2 指倒數(shù)第二個(gè)字符,以此類推。
length 可選。子串中的字符數(shù)。必須是數(shù)值。如果省略了該參數(shù),那么返回從 stringObject 的開始位置到結(jié)尾的字串。
stringObject.slice(start,end)提取字符串的某個(gè)部分,并以新的字符串返回被提取的部分
start 要抽取的片斷的起始下標(biāo)。如果是負(fù)數(shù),則該參數(shù)規(guī)定的是從字符串的尾部開始算起的位置。也就是說,-1 指字符串的最后一個(gè)字符,-2 指倒數(shù)第二個(gè)字符,以此類推。
end 緊接著要抽取的片段的結(jié)尾的下標(biāo)。若未指定此參數(shù),則要提取的子串包括 start 到原字符串結(jié)尾的字符串。如果該參數(shù)是負(fù)數(shù),那么它規(guī)定的是從字符串的尾部開始算起的位置。
返回新的字符串包括字符串 stringObject 從 start 開始(包括 start)到 end 結(jié)束(不包括 end)為止的所有字符
string.slice() string.substring() string.substr() var stringValue = “hello world”; alert(stringValue.slice(3)); //”lo world” alert(stringValue.substring(3)); //”lo world” alert(stringValue.substr(3)); //”lo world” alert(stringValue.slice(3,7)); //”lo w” alert(stringValue.substring(3,7)); //”lo w” alert(stringValue.substr(3,7)); //”lo worl”
三者如果只有一個(gè)參數(shù)n 則會(huì)從第n個(gè)位置開始返回剩余字符串(從0開始計(jì)算位置)
如果有兩個(gè)參數(shù)n,m,slice與substring會(huì)從第n個(gè)位置開始返回到第m個(gè)位置(不包括第m位置)的字符串,而substr會(huì)返回從第n個(gè)位置開始的m個(gè)字符。
———————————————————————————————
string.slice() string.substring() string.substr() var stringValue = “hello world”; alert(stringValue.slice(-3)); //”rld” alert(stringValue.substring(-3)); //”hello world” alert(stringValue.substr(-3)); //”rld” alert(stringValue.slice(3,-4)); //”lo w” alert(stringValue.substring(3,-4)); //”hel” alert(stringValue.substr(3,-4)); //”"(空字符串)
當(dāng)參數(shù)是負(fù)值情況下,slice將傳入負(fù)值與字符串長度(string.length)相加,substr會(huì)將負(fù)的第一個(gè)參數(shù)加上字符串長度,第二個(gè)轉(zhuǎn)換為0,substring會(huì)將所有負(fù)值都轉(zhuǎn)換成0。
IE的JavaScript實(shí)現(xiàn)在處理向substr()方法傳遞負(fù)值的情況時(shí)存在問題,它會(huì)返回原始的字符串。
- 詳解JS截取字符串的三個(gè)方法substring,substr,slice
- JS中substring與substr的用法
- js字符串截取函數(shù)slice、substring和substr的比較
- 深入淺析JavaScript字符串操作方法 slice、substr、substring及其IE兼容性
- js中substring和substr兩者區(qū)別和使用方法
- js中substr,substring,indexOf,lastIndexOf,split,replace的用法詳解
- javascript中slice(),splice(),split(),substring(),substr()使用方法
- js中substring使用示例詳解
相關(guān)文章
JavaScript實(shí)現(xiàn)MD5加密的六種方式實(shí)例
這篇文章主要給大家介紹了關(guān)于JavaScript實(shí)現(xiàn)MD5加密的六種方式,在JS中可以實(shí)現(xiàn)MD5加密算法,可以使用第三方庫或者自己編寫代碼實(shí)現(xiàn),需要的朋友可以參考下2023-09-09
JS隨機(jī)洗牌算法之?dāng)?shù)組隨機(jī)排序
這篇文章主要介紹了JS隨機(jī)洗牌算法之給數(shù)組隨機(jī)排序的相關(guān)資料,需要的朋友可以參考下2016-03-03

