一、substring
String.substring(start, end)
//start 从第几位开始截取
//end 截取到第几位
例:
1、
var str='abcdefg';
console.log(str.substring(1,3));//输出'bc'
2、如果只有一个参数,那么就从第一个参数的位置截取到最后
var str='abcdefg';
console.log(str.substring(0));//输出'abcdefg'
console.log(str.substring(-1));//输出'abcdefg'
console.log(str.substring(3));//输出'defg'
3、如果只有第一个参数(start)的值大于第二个参数(end)的值,则两个参数位置对调(start与end值对调)
var str='abcdefg';
console.log(str.substring(6,4));//输出'ef'
4、如果第一个参数的值是负数,则从第0位开始截取到第二个参数的位置
var str='abcdefg';
console.log(str.substring(-2,3));//输出'abc'
5、如果第二个参数的值为0或负数 ,则从第0位截取到第一个参数的位置
var str='abcdefg';
console.log(str.substring(3,-2));//输出'abc'
6、如果第一个参数和第二个参数的值都为负数
var str='abcdefg';
console.log(str.substring(-2,-3));//输出''(空字符串)
二、substr
String.substr(start, end)
//start 从第几位开始截取
//end 截取几位
例:
1、
var str='abcdefg';
console.log(str.substr(1,3));//输出'bcd'
2、
var str='abcdefg';
console.log(str.substr(2));//输出'cdefg'
3、
var str='abcdefg';
console.log(str.substr(2,0));//输出''(空字符串)
console.log(str.substr(2,-1));//输出''(空字符串)
4、
var str='abcdefg';
console.log(str.substr(-1));//输出'g'
console.log(str.substr(-4));//输出'efg'
从尾部(依次0,-1,-2...)往前看,然后截取到最后
5、
var str='abcdefg';
console.log(str.substr(-3,2));//输出'ef'
从尾部(依次0,-1,-2...)往前看,然后截取相应的位数
三、slice
String.slice(start, end)
//start 从第几位开始截取
//end 截取到第几位
例:
1、
var str='abcdefg';
console.log(str.slice(1,3));//输出'bc'
2、
var str='abcdefg';
console.log(str.slice(0));//输出'abcdefg'
console.log(str.slice(1));//输出'bcdefg'
3、如果第二个参数(end)的值为负数,则end的位置从末尾(0)往左边数(依次为-1,-2...),从第一个参数(start)的位置截取到新的end的位置
var str='abcdefg';
console.log(str.slice(1,-1));//输出'bcdef'
console.log(str.slice(1,-3));//输出'bcd'
4、
var str='abcdefg';
console.log(str.slice(-1));//输出'g'
console.log(str.slice(-3));//输出'efg'
从尾部(依次0,-1,-2...)往前看,然后截取到最后
5、只有slice方法才可以两个参数(start,end)同时为负数
var str='abcdefg';
console.log(str.slice(-5,-3));//输出'cd'
console.log(str.slice(-4,-2));//输出'de'
console.log(str.slice(-5,-2));//输出'cde'