|
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));//-----------""
|
|
备注
|
重要事项:与 slice() 和 substr() 方法不同的是,substring() 不接受负的参数。
|
|
重要事项:ECMAscript 没有对该方法进行标准化,因此反对使用它。substr() 的参数指定的是子串的开始位置和长度,因此它可以替代 substring() 和 slice() 来使用。
|
|