js-string截取字符串步骤汇总

js-string截取字符串方法汇总
substr(start[,length])
返回的子串,表示从start位置开始取length个字符串。
不会改变源字符串。
-1 指字符串中最后一个字符

substring(start,end)
返回的子串,表示从start,到end之间的字符串,包括start位置的字符但是不包括end位置的字符
1.【以两个参数中较小一个作为起始位置,较大的参数作为结束位置
2.start和end为一个非负的整数,如果是负数转换为0

slice(start,end)
返回的子串,表示从start,到end之间的字符串,包括start位置的字符但是不包括end位置的字符
1.字符串中第一个字符位置为 0
2.start和end的负数是从字符串的尾部开始算起的位置,-1 指字符串中最后一个字符

接收的参数是负数时,slice会将它字符串的长度与对应的负数相加,结果作为参数;substr则仅仅是将第一个参数与字符串长度相加后的结果作为第一个参数;substring则干脆将负参数都直接转换为0:
var str="Hello world!";

str.substr(3);  //lo world!
str.substr(3,7);  //lo worl
str.substr(3,-4);  //空字符串
str.substr(-4,3); //rld

str.substring(3);  //lo world!
str.substring(3,7);  //lo w
str.substring(3,-4);  //Hel,等同于str.substring(3,0);和str.substring(0,3);
str.substring(-4,3); //Hel

str.slice(0);  //Hello world!
str.slice(3);  //lo world!
str.slice(3,-4);  //lo wo
str.slice(-4,10); //rl