js中substring和substr兩者區(qū)別和使用方法
在開(kāi)始之前,先回顧下js中下標(biāo)(數(shù)組元素/字符串中字符下標(biāo)):
下標(biāo)總是從0開(kāi)始計(jì)數(shù),例如
var arr = [1,2,3];//數(shù)組的長(zhǎng)度為3,元素下標(biāo)依次為:0,1,2
arr[0] = 1,arr[1]=2..
字符串類似:如var s = "hello";//字符串長(zhǎng)度為5,第一個(gè)字符'h'的下標(biāo)為0,依次類推

String.substring( ):用于返回一個(gè)字符串的子串
用法如下:string.substring(from, to)
其中from指代要抽去的子串第一個(gè)字符在原字符串中的位置
to指代所要抽去的子字符串最后一個(gè)字符的后一位(這個(gè)參數(shù)可以不加)
下面就對(duì)String.substring( )做舉例:
1、string.substring(from):此時(shí)相當(dāng)于從from位置截取到原字符串末尾
var s = "hello"; s.substring(1);//就是從下標(biāo)為1的字符(這里是'e')開(kāi)始起到字符串末尾全部截取,最終獲得子串"ello"

2、string.substring(from, to):從from位置截取到to-1的位置
var s = "hello"; s.substring(1,3);//相當(dāng)于從位置為1的字符截取到位置為2的字符,得到子串為:"el"

String.substr( ):作用也是抽去一個(gè)子串,但是它和上面的String.substring( )有所不同
用法如下:string.substr(start, length)
start:指代截取子串開(kāi)始下標(biāo)
length:截取子串的長(zhǎng)度(可省略)
1、string.substr(start, length):先舉個(gè)例子來(lái)說(shuō)明:
var s = "hello"; s.substr(1,3);//從下標(biāo)為1的字符開(kāi)始截取3個(gè)字符長(zhǎng)度,最后子串為:ell

補(bǔ)充兩種特殊情況:
a、第二個(gè)參數(shù)超過(guò)了剩余字符長(zhǎng)度
var s = "hello"; s.substr(1,7)//這種情況下默認(rèn)從,start位置到原字符串末尾,即返回:"ello"

b、第一個(gè)參數(shù)為負(fù)數(shù)
這種情況,從字符串尾部開(kāi)始計(jì)算,-1指字符串最后一個(gè)字符,-2指倒數(shù)第二個(gè)字符...依次類推
var s = "hello"; s.substr(-3,2)//即從倒數(shù)第三個(gè)字符開(kāi)始起截取2個(gè)長(zhǎng)度,獲得:"ll"

2、string.substr(start):不帶length參數(shù),默認(rèn)指代從start位置截取到字符串末尾
var s = "hello"; s.substr(3)//"lo"

以上就是關(guān)于js中substring和substr區(qū)別與用法的詳細(xì)介紹,大家可以結(jié)合之前的相關(guān)文章進(jìn)行學(xué)習(xí),希望對(duì)大家的學(xué)習(xí)有所幫助。
- 詳解JS截取字符串的三個(gè)方法substring,substr,slice
- JS中substring與substr的用法
- js字符串截取函數(shù)slice、substring和substr的比較
- 深入淺析JavaScript字符串操作方法 slice、substr、substring及其IE兼容性
- js中substr,substring,indexOf,lastIndexOf,split,replace的用法詳解
- javascript中substring()、substr()、slice()的區(qū)別
- javascript中slice(),splice(),split(),substring(),substr()使用方法
- js中substring使用示例詳解
相關(guān)文章
Bootstrap框架實(shí)現(xiàn)廣告輪播效果
這篇文章主要為大家詳細(xì)介紹了Bootstrap框架結(jié)合JavaScript實(shí)現(xiàn)廣告輪播特效,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11
jquery 實(shí)現(xiàn)輸入郵箱時(shí)自動(dòng)補(bǔ)全下拉提示功能
大家在做Web項(xiàng)目,都會(huì)有注冊(cè)登錄模塊,如果是郵箱注冊(cè),想要在輸入@后觸發(fā)下拉框顯示各個(gè)郵箱的功能。下面介紹一款jQuery實(shí)現(xiàn)輸入郵箱的時(shí)候,可自動(dòng)補(bǔ)全郵箱地址,也可稱為是“輸入提示”的功能,比如輸入aaa時(shí),自動(dòng)變成aaa@163.com,有效提升網(wǎng)頁(yè)的人性化體驗(yàn)2015-10-10
JS操作時(shí)間 - UNIX時(shí)間戳的簡(jiǎn)單介紹(必看篇)
下面小編就為大家?guī)?lái)一篇JS操作時(shí)間 - UNIX時(shí)間戳的簡(jiǎn)單介紹(必看篇)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08
javascript實(shí)現(xiàn)函數(shù)柯里化與反柯里化過(guò)程解析
這篇文章主要介紹了javascript實(shí)現(xiàn)函數(shù)柯里化與反柯里化過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-10
BootStrap 智能表單實(shí)戰(zhàn)系列(十)自動(dòng)完成組件的支持
這篇文章主要介紹了BootStrap 智能表單實(shí)戰(zhàn)系列(十)自動(dòng)完成組件的支持 的相關(guān)資料,需要的朋友可以參考下2016-06-06
詳解bootstrap的modal-remote兩種加載方式【強(qiáng)化】
本篇文章主要介紹了詳解bootstrap的modal-remote兩種加載方式【強(qiáng)化】,具有一定的參考價(jià)值,有興趣的可以了解一下。2017-01-01

