JavaScript 字符串方法之 substr、 substring、 slice

1.字符串的substr(startIndex,num)方法:开始下标,字符个数
// (第一个参数起始下标,(1)为负值时,视作length+负值,(2)超过最大下标时找不到多余字符)
// (第二个参数字符个数,(1)为负值视作0,即从指定开始下标开始,找0个字符,(2)超过字符串下标时找不到多余字符)
 var s="abcde01234xyz";

 console.log(s.substr(1,22));  //bc //从定开始下标1开始,找2个字符。
 // (第一个参数起始下标,(1)为负值时,视作length+负值,(2)超过最大下标时找不到多余字符)
 // (第二个参数字符个数,(1)为负值视作0,即从指定开始下标开始,找0个字符,(2)超过字符串下标时找不到多余字符)

 console.log(s.substr(1,-2));   //  //第二个参数为负值视作0,从指定开始下标开始,找0个字符

 console.log(s.substr(-3,2));   //xy  //第一个参数为负值,从下标为(length+负值)开始,找2个字符

 console.log(s.substr(-3,3));  //xyz  //第一个参数为负值,从下标为(length+负值)开始,找3个字符

 console.log(s.substr(-3,4));   //xyz  //第一个参数为负值,从下标为(length+负值)开始,找3个字符

 console.log(s.substr(-3,5));   //xyz  //第一个参数为负值,从下标为(length+负值)开始,找3个字符

  

2.字符串的substring(startIndex,endIndex)方法:开始下标到指定结束下标的前一个
 参数为负值看做参数为0,
从小的参数下标找向大的参数下标前面一个(即两个参数可以交换位置),下标过大或者过小找不到多余字符
只有一个参数时,看做开始参数下标找到最后一个元素
var s="abcde01234xyz";

 //    参数为负值看做参数为0,从小的下标找向大的下标前面一个

 console.log(s.substring(1,2));  // b //从定开始下标1开始,到指定结束下标的前一个元素(从小的下标找向大的下标前一个)

 console.log(s.substring(-5,2));  // ab //第一个参数为负值看做下标为0,到指定结束下标的前一个元素

 console.log(s.substring(1,-2));  //a //第二个参数为负值看做下标为0,从小的下标找向大的下标前一个

 console.log(s.substring(2,-2)); //ab //第二个参数为负值看做下标为0, 从小的下标找向大的下标前一个

 console.log(s.substring(3,-2));  //abc //第二个参数为负值看做下标为0, 从小的下标找向大的下标前一个

 console.log(s.substring(4,-2)); //abcd//第二个参数为负值看做下标为0 从小的下标找向大的下标前一个

console.log(s.substring( 4,16)); //e01234xyz// 找不到多余字符

  

 

3.字符串的slice(startIndex,endIndex)方法:开始下标到指定结束下标的前一个
//参数负值,看做length+负值
//第一个参数或者第二个参数为负值时,该参数相对于(length+负值)即负值,循环字符串 // 多余字符找不到

//只有一个参数时,看做开始参数下标找到最后一个元素
 
     // slice       参数负值,看做length+负值
    //第一个参数或者第二个参数为负值时,该参数相对于(length+负值)即负值,循环字符串
    /!*  a b c d e 0 1 2 3 4 x y z a b c d e 0 1 2 3 4 x y z
     -2 -1 0 1 2 3 4 5 6 7 8 9 ……
     *!/

     var s="abcde01234xyz";
 
    console.log(s.slice(1,2));  // b          //从指定开始下标1开始,到指定结束下标2的前一个元素

    console.log(s.slice(1,0));  //            // //从指定开始下标1开始,到指定结束下标0的前一个元素

    console.log(s.slice(1,-1));  // bcde01234xy  //从指定开始下标1开始,到(length+负值)结束下标的前一个元素

    console.log(s.slice(1,-2));  // bcde01234x  //从指定开始下标1开始,到(length+负值)结束下标的前一个元素

    console.log(s.slice(-5,12));  //   34xy     //从指定开始下标(length+负值)开始,到结束下标的前一个元素

    console.log(s.slice(-6,12));  //  234xy    //从指定开始下标(length+负值)开始,到结束下标的前一个元素

    console.log(s.slice(-6,13));  //  234xyz    //从指定开始下标(length+负值)开始,到结束下标的前一个元素

    console.log(s.slice(-6,15));  //  234xyz    //从指定开始下标(length+负值)开始,到结束下标的前一个元素(多余字符找不到)

    console.log(s.slice(-6,16));  //  234xyz    //从指定开始下标(length+负值)开始,到结束下标的前一个元素(多余字符找不到)

  

 
posted @ 2016-08-12 15:23  July_Zheng  阅读(274)  评论(0编辑  收藏  举报