一、substring()
1.1 定义
substring() 方法用于提取字符串中介于两个指定下标之间的字符。
1.2语法
stringObject.substring(start[,stop])
参数 | 描述 |
---|---|
start | 必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。 |
stop | 可选。一个非负的整数,规定要提取的子串的截止位置,包头不包尾。 |
说明
- 包头不包尾,即:返回的子串包括 start 处的字符,但不包括 stop 处的字符。
- 如果省略stop该参数,那么返回的子串会一直到字符串的结尾。
- stop不能接受负的参数,直接返回了整个字符串。
- 如果参数 start 与 stop 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)
- 如果 start 比 stop 大,那么该方法在提取子串之前会先交换这两个参数。
1.3 返回值
返回一个新的字符串,该字符串值包含 stringObject 的一个子字符串,其内容是从 start 处到 stop-1 处的所有字符,其长度为 stop 减 start。
1.4 测试
var str = '0123456789';
var str1 = str.substring(1,4);
var str2 = str.substring(2);
var str3 = str.substring(4,2);
var str4 = str.substring(4,4);
var str5 = str.substring(-2);
var str6 = str.substring(11);
console.log("str1: "+str1+"\nstr2: "+str2+"\nstr3: "+str3+"\nstr4: "+str4+"\nstr5: "+str5+"\nstr6: "+str6)
二、substr()
2.1 定义
substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符。
2.2 语法
stringObject.substr(start[,len])
参数 | 描述 |
---|---|
start | 必需。要抽取的子串的起始下标。必须是数值。 |
length | 可选。子串中的字符数。必须是数值。如果省略了该参数,那么返回从 stringObject 的开始位置到结尾的字串。 |
说明
- start必须是数值。
- start如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。
- 如果省略了length该参数,那么返回从 stringObject 的开始位置到结尾的字串。
- 重要事项:ECMAscript 没有对该方法进行标准化,因此反对使用它。在某些浏览器中start下标使用负值,直接返回了全部字符串。
2.3 返回值
返回一个新的字符串,包含从 stringObject 的 start(包括 start 所指的字符) 处开始的 len 个字符。如果没有指定 len,那么返回的字符串包含从 start 到 stringObject 的结尾的字符。
2.4 测试
var str = '0123456789';
var str1 = str.substr(1,4);
var str2 = str.substr(2);
var str3 = str.substr(4,2);
var str4 = str.substr(4,4);
var str5 = str.substr(-2);
var str6 = str.substr(11);
console.log("str1: "+str1+"\nstr2: "+str2+"\nstr3: "+str3+"\nstr4: "+str4+"\nstr5: "+str5+"\nstr6: "+str6)