String.prototype.substr() - 避免使用,它并非JavaScript核心语言的一部分,未来可能会被移除掉。
substr()方法返回一个字符串中从指定位置开始到指定字符数的字符。
语法
str.substr(start[, length])
参数
start:开始提取字符的位置。如果为负数,则被看作strLength + start,其中strLength为字符串的长度(eg: 如果 start 为 -3,则被看作 strLength + (-3)))
length:可选。提取的字符数
描述
start
是一个字符的索引。首字符的索引为 0,最后一个字符的索引为 字符串的长度减去 1。substr
从start
位置开始提取字符,提取length
个字符(或直到字符串的末尾)。- 如果
start
为正值,且大于或等于字符串的长度,则substr
返回一个空字符串。 - 如果
start
为负值,则substr
把它作为从字符串末尾开始的一个字符索引。如果start
为负值且abs(start)
大于字符串的长度,则substr
使用 0 作为开始提取的索引。注意负的start
参数不被 Microsoft JScript 所支持。 - 如果
length
为 0 或负值,则substr
返回一个空字符串。如果忽略length
,则substr
提取字符,直到字符串末尾。
浏览器的兼容
String.prototype.substring()
substring()方法返回一个字符串在开始索引到结束索引之间的一个子集,或从开始索引直到字符串的末尾的一个子集。
语法
str.substring(indexStart[, indexEnd])
参数
indexStart:需要截取的第一个字符的索引,改索引位置的字符作为返回的字符串的首字母。
length:可选。一个0到字符串长度之间的整数,以该数字为索引的字符不包含在截取的字符串内。
描述
substring
提取从 indexStart
到 indexEnd
(不包括)之间的字符。特别地:
- 如果
indexStart
等于indexEnd
,substring
返回一个空字符串。 - 如果省略
indexEnd
,substring
提取字符一直到字符串末尾。 - 如果任一参数小于 0 或为 NaN,则被当作 0。
- 如果任一参数大于
stringName.length
,则被当作stringName.length
。 - 如果
indexStart
大于indexEnd
,则substring
的执行效果就像两个参数调换了一样。见下面的例子。
浏览器的兼容