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ù)值與字符串長(zhǎng)度(string.length)相加,substr會(huì)將負(fù)的第一個(gè)參數(shù)加上字符串長(zhǎng)度,第二個(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)表單全選或反選效果
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)表單全選或反選效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-06-06js實(shí)現(xiàn)簡(jiǎn)單div拖拽功能實(shí)例
這篇文章主要介紹了js實(shí)現(xiàn)簡(jiǎn)單div拖拽功能的方法,實(shí)例分析了javascript針對(duì)div層拖拽的實(shí)現(xiàn)技巧,需要的朋友可以參考下2015-05-05JavaScript+canvas實(shí)現(xiàn)七色板效果實(shí)例
這篇文章主要介紹了JavaScript+canvas實(shí)現(xiàn)七色板效果的方法,結(jié)合實(shí)例形式詳細(xì)分析了JavaScript結(jié)合html5的canvas技術(shù)實(shí)現(xiàn)繪制七色板效果的相關(guān)技巧,需要的朋友可以參考下2016-02-02TypeScript模塊與命名空間的關(guān)系和使用方法
在TypeScript中就像在EC5中一樣,任何包含頂級(jí)import或export的文件都被認(rèn)為是一個(gè)模塊,下面這篇文章主要給大家介紹了關(guān)于如何在TypeScript使用模塊與命名空間以及注意事項(xiàng)的相關(guān)資料,需要的朋友可以參考下2023-03-03微信小程序動(dòng)態(tài)設(shè)置圖片大小的方法
這篇文章主要介紹了微信小程序動(dòng)態(tài)設(shè)置圖片大小的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-11-11解析JavaScript中的不可見數(shù)據(jù)類型
這篇文章主要是對(duì)JavaScript中的不可見數(shù)據(jù)類型進(jìn)行了詳細(xì)的介紹,需要的朋友可以過來參考下,希望對(duì)大家有所幫助2013-12-12詳解多頁應(yīng)用 Webpack4 配置優(yōu)化與踩坑記錄
這篇文章主要介紹了詳解多頁應(yīng)用 Webpack4 配置優(yōu)化與踩坑記錄,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-10-10JavaScript實(shí)現(xiàn)左右下拉框動(dòng)態(tài)增刪示例
本篇文章主要介紹了JavaScript實(shí)現(xiàn)左右下拉框動(dòng)態(tài)增刪示例,可以對(duì)下拉框進(jìn)行刪除和增加,非常具有實(shí)用價(jià)值,需要的朋友可以參考下。2017-03-03Js md5加密網(wǎng)頁版MD5轉(zhuǎn)換代碼
Js實(shí)現(xiàn)網(wǎng)頁上的MD5加密功能,將文字轉(zhuǎn)換為MD5字符,本代碼調(diào)用簡(jiǎn)單,你可以新建一個(gè)網(wǎng)頁,將此網(wǎng)頁上傳到你的服務(wù)器上,用戶瀏覽網(wǎng)頁,就可實(shí)現(xiàn)MD5加密轉(zhuǎn)換功能,用戶可方便查詢?nèi)我蛔址腗D5碼,很不錯(cuò)的功能2013-03-03