javascript substr和substring用法比較
更新時(shí)間:2009年06月01日 01:09:23 作者:
在js中substring和substr都是用來截取字符串的,那么substring和substr之間的具體區(qū)別在哪里,有沒有區(qū)別呢,下面我來給各位詳細(xì)引用一些實(shí)例來介紹這些問題
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的最后。
功能:從“母字符串”的“指定位置”開始提取“指定長度”的“子字符串”。
使用方法:
復(fù)制代碼 代碼如下:
字符串?dāng)?shù)據(jù).substr(start [,length])
start是必選項(xiàng)。指明要提取的“子字符串”的起始位置。字符串中的第一個(gè)字符的索引為 0。
length是可選項(xiàng)。指明要提取的“子字符串”中應(yīng)包括的字符個(gè)數(shù)。如果 length 為 0 或負(fù)數(shù),將返回一個(gè)空字符串。如果沒有指定該參數(shù),則子字符串將延續(xù)到“母字符串”的最后。
下面的示例演示了substr函數(shù)的用法。
復(fù)制代碼 代碼如下:
母串 = "上海自來水來自海上";
子串1 = 母串.substr(2,4);
//從編號為2的字符開始,提取4個(gè)長度的子字符串。 返回值: "自來水來"
子串2 = 母串.substr(2);
//從編號為2的字符開始,到最后一個(gè)字符的子字符串。 返回值: "自來水來自海上"
復(fù)制代碼 代碼如下:
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
舉例:
復(fù)制代碼 代碼如下:
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)
復(fù)制代碼 代碼如下:
var stringObject = "hello world!";
alert(stringObject.substring(3,3)); // 空串
alert(stringObject.substring(3,7)); // lo w
alert(stringObject.substring(7,3)); // lo w
復(fù)制代碼 代碼如下:
母串 = "上海自來水來自海上";
子串 = 母串.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)文章
利用谷歌地圖API獲取點(diǎn)與點(diǎn)的距離的js代碼
下面是一段利用谷歌地圖API獲取點(diǎn)點(diǎn)之間距離的代碼,采用V3版本中的DirectionsService()2012-10-10詳解javascript 正則表達(dá)式之分組與前瞻匹配
本文主要講解javascript 的正則表達(dá)式中的分組匹配與前瞻匹配的,需要對正則的有基本認(rèn)識,本人一直對兩種匹配模棱不清,還有不清楚的朋友跟隨腳本之家小編一起看看吧2018-05-05HTML+CSS+JavaScript實(shí)現(xiàn)放大鏡效果
這篇文章主要為大家詳細(xì)介紹了HTML+CSS+JavaScript實(shí)現(xiàn)放大鏡效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07JSONP獲取Twitter和Facebook文章數(shù)的具體步驟
這篇文章主要介紹了JSONP獲取Twitter和Facebook文章數(shù)的方法,需要的朋友可以參考下2014-02-02CodeMirror2 IE7/IE8 下面未知運(yùn)行時(shí)錯(cuò)誤的解決方法
最近用CodeMirror2作后臺的模板編輯器,在IE9、Firefox下面沒有問題。到了IE7、IE8下面,textarea里面的代碼就顯示不出來了。搜索了好多,終于找到原因2012-03-03