js中substring和substr的用法比较
推荐使用substring 方法
|
stringObject.substring(start,stop) |
stringObject.substr(start,length) |
||
定义和用法 |
提取字符串中两个指定的索引号之间的字符。 substring() 方法用于提取字符串中介于两个指定下标之间的字符。 |
从起始索引号提取字符串中指定数目的字符。 substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符。 |
||
参数 描述 |
参数 描述 start 必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。 stop 可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1。如果省略该参数,那么返回的子串会一直到字符串的结尾。 |
参数 描述 start 必需。所需的子字符串的起始位置。字符串中的第一个字符的索引为 0。 length 可选。在返回的子字符串中应包括的字符个数。 |
||
返回值 |
一个新的字符串,该字符串值包含 stringObject 的一个子字符串,其内容是从 start 处到 stop-1 处的所有字符,其长度为 stop 减 start。 | 一个新的字符串,包含从 stringObject 的 start(包括 start 所指的字符) 处开始的 length 个字符。如果没有指定 length,那么返回的字符串包含从 start 到 stringObject 的结尾的字符。 | ||
说明 |
substring 方法返回的子串包括 start 处的字符,但不包括 end 处的字符。 如果 start 与 end 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。 如果 start 比 end 大,那么该方法在提取子串之前会先交换这两个参数。 如果 start 或 end 为负数,那么它将被替换为 0。 |
如果start为负数,则start=str.length+start。 如果 length 为 0 或负数,将返回一个空字符串。 如果没有指定该参数,则子字符串将延续到stringObject的最后。 |
||
var str = "0123456789"; console.log(str.substring(0));//------------"0123456789" console.log(str.substring(5));//------------"56789" console.log(str.substring(10));//-----------"" console.log(str.substring(12));//-----------"" console.log(str.substring(-5));//-----------"0123456789" console.log(str.substring(-10));//----------"0123456789" console.log(str.substring(-12));//----------"0123456789" console.log(str.substring(0,5));//----------"01234" console.log(str.substring(0,10));//---------"0123456789" console.log(str.substring(0,12));//---------"0123456789" console.log(str.substring(2,0));//----------"01" console.log(str.substring(2,2));//----------"" console.log(str.substring(2,5));//----------"234" console.log(str.substring(2,12));//---------"23456789" console.log(str.substring(2,-2));//---------"01" console.log(str.substring(-1,5));//---------"01234" console.log(str.substring(-1,-5));//--------"" |
var str = "0123456789"; console.log(str.substr(0));//---------------"0123456789" console.log(str.substr(5));//---------------"56789" console.log(str.substr(10));//--------------"" console.log(str.substr(12));//--------------"" console.log(str.substr(-5));//--------------"56789" console.log(str.substr(-10));//-------------"0123456789" console.log(str.substr(-12));//-------------"0123456789" console.log(str.substr(0,5));//-------------"01234" console.log(str.substr(0,10));//------------"0123456789" console.log(str.substr(0,12));//------------"0123456789" console.log(str.substr(2,0));//-------------"" console.log(str.substr(2,2));//-------------"23" console.log(str.substr(2,5));//-------------"23456" console.log(str.substr(2,12));//------------"23456789" console.log(str.substr(2,-2));//------------"" console.log(str.substr(-1,5));//------------"9" console.log(str.substr(-1,-5));//-----------"" |
|||
备注 |
重要事项:ECMAscript 没有对该方法进行标准化,因此反对使用它。substr() 的参数指定的是子串的开始位置和长度,因此它可以替代 substring() 和 slice() 来使用。 |
cssfirefly
http://cssfirefly.cnblogs.com