javascript substr和substring用法比較
substr函數(shù)和substring函數(shù)都是用來從某個(gè)“母字符串”中提取“子字符串”的函數(shù)。但用法有些差別,下面分別介紹
substr 方法定義和用法
substr 方法用于返回一個(gè)從指定位置開始的指定長度的子字符串。
語法
stringObject.substr(start [, length ])
參數(shù) 描述
start 必需。所需的子字符串的起始位置。字符串中的第一個(gè)字符的索引為 0。
length 可選。在返回的子字符串中應(yīng)包括的字符個(gè)數(shù)。
說明
如果start為負(fù)數(shù),則start=str.length+start。
如果 length 為 0 或負(fù)數(shù),將返回一個(gè)空字符串。
如果沒有指定該參數(shù),則子字符串將延續(xù)到stringObject的最后。
功能:從“母字符串”的“指定位置”開始提取“指定長度”的“子字符串”。
使用方法:
start是必選項(xiàng)。指明要提取的“子字符串”的起始位置。字符串中的第一個(gè)字符的索引為 0。
length是可選項(xiàng)。指明要提取的“子字符串”中應(yīng)包括的字符個(gè)數(shù)。如果 length 為 0 或負(fù)數(shù),將返回一個(gè)空字符串。如果沒有指定該參數(shù),則子字符串將延續(xù)到“母字符串”的最后。
下面的示例演示了substr函數(shù)的用法。
母串 = "上海自來水來自海上";
子串1 = 母串.substr(2,4);
//從編號為2的字符開始,提取4個(gè)長度的子字符串。 返回值: "自來水來"
子串2 = 母串.substr(2);
//從編號為2的字符開始,到最后一個(gè)字符的子字符串。 返回值: "自來水來自海上"
var stringObject = "hello world!";
alert(stringObject.substr(3)); // lo world!
alert(stringObject.substr(3,stringObject.length)); // lo world!
alert(stringObject.substr(3,4)); // lo w
舉例:
var str = "0123456789";
alert(str.substring(0));------------"0123456789"
alert(str.substring(5));------------"56789"
alert(str.substring(10));-----------""
alert(str.substring(12));-----------""
alert(str.substring(-5));-----------"0123456789"
alert(str.substring(-10));----------"0123456789"
alert(str.substring(-12));----------"0123456789"
alert(str.substring(0,5));----------"01234"
alert(str.substring(0,10));---------"0123456789"
alert(str.substring(0,12));---------"0123456789"
alert(str.substring(2,0));----------"01"
alert(str.substring(2,2));----------""
alert(str.substring(2,5));----------"234"
alert(str.substring(2,12));---------"23456789"
alert(str.substring(2,-2));---------"01"
alert(str.substring(-1,5));---------"01234"
alert(str.substring(-1,-5));--------""
alert(str.substr(0));---------------"0123456789"
alert(str.substr(5));---------------"56789"
alert(str.substr(10));--------------""
alert(str.substr(12));--------------""
alert(str.substr(-5));--------------"56789"
alert(str.substr(-10));-------------"0123456789"
alert(str.substr(-12));-------------"0123456789"
alert(str.substr(0,5));-------------"01234"
alert(str.substr(0,10));------------"0123456789"
alert(str.substr(0,12));------------"0123456789"
alert(str.substr(2,0));-------------""
alert(str.substr(2,2));-------------"23"
alert(str.substr(2,5));-------------"23456"
alert(str.substr(2,12));------------"23456789"
alert(str.substr(2,-2));------------""
alert(str.substr(-1,5));------------"9"
alert(str.substr(-1,-5));-----------""
substring函數(shù)
功能:從“母字符串”中提取從“起始位置”到“結(jié)束位置”的“子字符串”。
使用方法:字符串?dāng)?shù)據(jù).substring(start,end)
start參數(shù)指明子字符串中“第一個(gè)字符”的位置。
end參數(shù)指明子字符串中“最后一個(gè)字符”的“后面一個(gè)字符”的位置。
substring函數(shù)返回一個(gè)從 "start位置" 開始 到 "end-1位置" 結(jié)束(不包含 "end位置"的字符 )的子字符串。
substring函數(shù)使用 start 和 end 兩者中的較小值作為子字符串的起始點(diǎn)。例如,字符串?dāng)?shù)據(jù).substring(0,3) 和 字符串?dāng)?shù)據(jù).substring(3,0) 將返回相同的子字符串。
如果 start 或 end 為 NaN 或者負(fù)數(shù),那么將其替換為0。
子字符串的長度等于 start 和 end 之差的絕對值。例如,字符串?dāng)?shù)據(jù).substring(0,3) 和 字符串?dāng)?shù)據(jù).substring(3,0) 返回的子字符串的的長度是 3。
下面的示例演示了substring函數(shù)的用法。
例
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
2)如果startIndex、endIndex 相等,則返回空串。如果startIndex 比 endIndex 大,則提取子串之前,調(diào)換兩個(gè)參數(shù)。即stringObject.substring(startIndex,endIndex)等同于stringObject.substring(endIndex,startIndex)
var stringObject = "hello world!";
alert(stringObject.substring(3,3)); // 空串
alert(stringObject.substring(3,7)); // lo w
alert(stringObject.substring(7,3)); // lo w
母串 = "上海自來水來自海上";
子串 = 母串.substring(2,4);
//從“編號為2”的字符開始,到“編號為(4-1)”的字符結(jié)束的子字符串。返回值: "自來"
substr()可以代替substring()來使用,從上面代碼看出 stringObject.substr(3,4) 等同于stringObject.substring(3,7)
- JS 截取字符串substr 和 substring方法的區(qū)別
- SQL Substring提取部分字符串
- sqlserver substring函數(shù)使用方法小結(jié)
- Mysql字符串截取函數(shù)SUBSTRING的用法說明
- js中substr,substring,indexOf,lastIndexOf的用法小結(jié)
- JAVA中字符串函數(shù)subString的用法小結(jié)
- JavaScript截取字符串的Slice、Substring、Substr函數(shù)詳解和比較
- mysql截取的字符串函數(shù)substring_index的用法
- 淺談Javascript中substr和substring的區(qū)別
相關(guān)文章
同一個(gè)網(wǎng)頁中實(shí)現(xiàn)多個(gè)JavaScript特效的方法
這篇文章主要介紹了同一個(gè)網(wǎng)頁中實(shí)現(xiàn)多個(gè)JavaScript特效的方法,實(shí)例分析了多個(gè)特效的實(shí)現(xiàn)原理與相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-02-02
使用JavaScript計(jì)算前一天和后一天的思路詳解
這篇文章主要介紹了使用JavaScript計(jì)算前一天和后一天的思路,代碼簡單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-12-12
XHTML-Strict 內(nèi)允許出現(xiàn)的標(biāo)簽
XHTML-Strict 內(nèi)允許出現(xiàn)的標(biāo)簽...2006-12-12
JS實(shí)現(xiàn)判斷滾動(dòng)條滾到頁面底部并執(zhí)行事件的方法
這篇文章主要介紹了JS實(shí)現(xiàn)判斷滾動(dòng)條滾到頁面底部并執(zhí)行事件的方法,本文先是分析了需求以及必備知識(shí),然后給出實(shí)現(xiàn)代碼,需要的朋友可以參考下2014-12-12
使用JS+XML(數(shù)據(jù)島)實(shí)現(xiàn)分頁)
使用JS+XML(數(shù)據(jù)島)實(shí)現(xiàn)分頁)...2007-01-01
JavaScript中window.open用法實(shí)例詳解
這篇文章主要介紹了JavaScript中window.open用法,實(shí)例分析了window.open方法的功能、參數(shù)及使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-04-04
Bootstrap 表單驗(yàn)證formValidation 實(shí)現(xiàn)表單動(dòng)態(tài)驗(yàn)證功能
這篇文章主要介紹了Bootstrap 表單驗(yàn)證formValidation 實(shí)現(xiàn)表單動(dòng)態(tài)驗(yàn)證功能,需要的朋友可以參考下2017-05-05
如何基于javascript實(shí)現(xiàn)貪吃蛇游戲
這篇文章主要介紹了如何基于javascript實(shí)現(xiàn)貪吃蛇游戲,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02
bootstrap動(dòng)態(tài)添加面包屑(breadcrumb)及其響應(yīng)事件的方法
這篇文章主要介紹了bootstrap動(dòng)態(tài)添加面包屑(breadcrumb)及其響應(yīng)事件的方法,涉及js數(shù)據(jù)傳輸及定義響應(yīng)事件相關(guān)操作技巧,需要的朋友可以參考下2017-05-05
webpack是如何實(shí)現(xiàn)模塊化加載的方法
這篇文章主要介紹了webpack是如何實(shí)現(xiàn)模塊化加載的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11

