|
substr函數和substring函數都是用來從某個“母字符串”中提取“子字符串”的函數。但用法有些差別,下面分別介紹
substr 方法定義和用法
substr 方法用于返回一個從指定位置開始的指定長度的子字符串。
語法
stringObject.substr(start [, length ])
參數 描述
start 必需。所需的子字符串的起始位置。字符串中的第一個字符的索引為 0。
length 可選。在返回的子字符串中應包括的字符個數。
說明
如果start為負數,則start=str.length+start。
如果 length 為 0 或負數,將返回一個空字符串。
如果沒有指定該參數,則子字符串將延續到stringObject的最后。
功能:從“母字符串”的“指定位置”開始提取“指定長度”的“子字符串”。
使用方法:
復制代碼 代碼如下:字符串數據.substr(start [,length])
start是必選項。指明要提取的“子字符串”的起始位置。字符串中的第一個字符的索引為 0。
length是可選項。指明要提取的“子字符串”中應包括的字符個數。如果 length 為 0 或負數,將返回一個空字符串。如果沒有指定該參數,則子字符串將延續到“母字符串”的最后。
下面的示例演示了substr函數的用法。
復制代碼 代碼如下:
母串 = "上海自來水來自海上";
子串1 = 母串.substr(2,4);
//從編號為2的字符開始,提取4個長度的子字符串。 返回值: "自來水來"
子串2 = 母串.substr(2);
//從編號為2的字符開始,到最后一個字符的子字符串。 返回值: "自來水來自海上"
復制代碼 代碼如下:
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函數
功能:從“母字符串”中提取從“起始位置”到“結束位置”的“子字符串”。
使用方法:字符串數據.substring(start,end)
start參數指明子字符串中“第一個字符”的位置。
end參數指明子字符串中“最后一個字符”的“后面一個字符”的位置。
substring函數返回一個從 "start位置" 開始 到 "end-1位置" 結束(不包含 "end位置"的字符 )的子字符串。
substring函數使用 start 和 end 兩者中的較小值作為子字符串的起始點。例如,字符串數據.substring(0,3) 和 字符串數據.substring(3,0) 將返回相同的子字符串。
如果 start 或 end 為 NaN 或者負數,那么將其替換為0。
子字符串的長度等于 start 和 end 之差的絕對值。例如,字符串數據.substring(0,3) 和 字符串數據.substring(3,0) 返回的子字符串的的長度是 3。
下面的示例演示了substring函數的用法。
例
[Ctrl+A 全選 注:如需引入外部Js需刷新才能執行]
2)如果startIndex、endIndex 相等,則返回空串。如果startIndex 比 endIndex 大,則提取子串之前,調換兩個參數。即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)”的字符結束的子字符串。返回值: "自來"
substr()可以代替substring()來使用,從上面代碼看出 stringObject.substr(3,4) 等同于stringObject.substring(3,7)
JavaScript技術:javascript substr和substring用法比較,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。