1. substr()方法
参数:substr(start, length)
- 第一个参数截取字符串的起始下标,第二个参数为截取长度
- 若参数为空,则返回整个字符串
- 若只有一个参数,且为非负正整数,则返回下标开始的值到字符串的最后
- 若只有一个参数,且为负数,则从字符串后面开始截取,-1是倒数第一个数,-2倒数第二个数,以此类推
- 若有两个参数,都为非负数,从开始下标取到指定长度的字符串
- 若有两个参数,第一个参数为负数,则从后面开始取,到字符串最后
var str = "abc.com.cn";
console.log(str.substr()); // 结果:abc.com.cn
console.log(str.substr(1)); // 结果:bc.com.cn
console.log(str.substr(-1)); // 结果:n
console.log(str.substr(-2)); // 结果:cn
console.log(str.substr(1, 3)); // 结果:bc.
console.log(str.substr(-1, 3)); // 结果:n
console.log(str.substr(-2, 3)); // 结果:cn
console.log(str.substr(5, 3)); // 结果:om.
2. substring()方法
参数:substring(start, end)
- 第一个参数是截取字符串起始下标,第二个参数是结束下标,截取的字符不包括end
- 若参数为空,则返回整个字符串
- 若只有一个参数,且为非负正整数,则返回下标开始的值到字符串的最后
- 若只有一个参数,且为负数,则起始下标会从0开始,返回整个字符串
- 若有两个参数,均为正整数,且start < end, 则返回从下标start开始到end下标结束的字符串,不包括end
- 若有两个参数,第一个参数为负数,start会变成0,返回对应的字符串
- 若有两个参数,均为正整数,且start > end, 程序会将start,end对换,返回对应字符串
var str = "abc.com.cn";
console.log(str.substring()); // 结果:abc.com.cn
console.log(str.substring(1)); // 结果:bc.com.cn
console.log(str.substring(-1)); // 结果:abc.com.cn
console.log(str.substring(-2)); // 结果:abc.com.cn
console.log(str.substring(1, 4)); // 结果:bc.
console.log(str.substring(-1, 4)); // 结果:abc.
console.log(str.substring(-2, 4)); // 结果:abc.
console.log(str.substring(4, 1)); // 结果:bc.
3. slice()方法
参数:slice(start, end)
- 第一个参数是截取字符串起始下标,第二个参数是结束下标,截取的字符不包括end
- 若参数为空,则返回整个字符串
- 若只有一个参数,且为非负正整数,则返回下标开始的值到字符串的最后
- 若只有一个参数,且为负数,则从字符串后面开始截取,-1就是倒数第一个数,-2倒数第二个数,以此类推
- 若有两个参数,均为正整数,且start < end, 则返回从下标start开始到end下标结束的字符串,不包括end
- 若有两个参数,不支持参数为负数
- 若有两个参数,不支持下标start > end
var str = "abc.com.cn";
console.log(str.slice()); // 结果:abc.com.cn
console.log(str.slice(1)); // 结果:bc.com.cn
console.log(str.slice(-1)); // 结果:n
console.log(str.slice(-2)); // 结果:cn
console.log(str.slice(1, 4)); // 结果:bc.
console.log(str.slice(-1, 4)); // 结果:不支持,无值
console.log(str.slice(-2, 4)); // 结果:不支持,无值
console.log(str.slice(4, 1)); // 结果:不支持,无值