按照下划线截取 _ 例如1: aaa_bbb  按照下划线(只截取最前面的下划线,后面有下划线不截取)截取前面三个和后面三个        截取之后 前面数据 :aaa  后面数据 : bbb
  例如2: aaa__bb_b(多个下划线)  按照下划线(只截取最前面的下划线,后面有下划线不截取)截取前面三个和后面三个        截取之后 前面数据 :aaa  后面数据 : _bb_b
    

解决方案 »

  1.   

    var datastr='aaa__bb_b';
    var str= new Array();   
    str=datastr.split("_");
    alert(str[0]);
      

  2.   


    function(str)
    {
       var arr = str.split('_');
       var arr2 = new Array();
       for(var i=1;i<arr.length;i++)
       {
           arr2.push(arr[i]);
       }
       var str = arr[0];
       arr = new Array();
       arr.push(str);
       arr.push(arr2.join('_'));
       return arr;
    }
      

  3.   


    前面的字符串: arr[0]
    后面的字符串: arr[1]
      

  4.   

    aaa__bb_b你这样取的是 aaa  和 aaa_bb_b  我要的是 aaa          _bb_b  这个两个参数我都得要 不是连在一起的
      

  5.   


    var str = 'aaa__bb_b';
    var str1 = "";
    var str2 = "";
    (function(){
       var arr = str.split('_');
       var arr2 = new Array();
       for(var i=1;i<arr.length;i++)
       {
           arr2.push(arr[i]);
       }
       var str = arr[0];
       str1 = str;  
       str2 = arr2.join('_');
    })();
    str1 和 str2即是你要的东西
      

  6.   


    你仔细看代码,arr2只包含arr里除了第一个以外的其它元素,用join('_')方法得到_bb_b
      

  7.   


    var str = 'aaa__bb_b';
    var str1 = "";
    var str2 = "";
    (function(){
       var arr = str.split('_');  // 拆分成数组
       var arr2 = arr;            // 数组的另一个实例
       arr2.splice(0, 1);         // 去除第一个数组元素
       str1 = arr[0];             // 取第一个元素
       str2 = arr2.join('_');     // 取第二个元素,把数组转换成字符串,用'_'连接
    })();
      

  8.   


    再简单点:var str = 'aaa__bb_b';
    var str1 = "";
    var str2 = "";
    (function(){
       var arr = str.split('_');  // 拆分成数组
       str1 = arr[0];
       arr.splice(0, 1);         // 去除第一个数组元素
       str2 = arr.join('_');     // 取第二个元素,把数组转换成字符串,用'_'连接
    })();
      

  9.   

    var test="aaa_bbb";
    var first=test.split('_')[0];第一个值
    var second=test.split('_')[1];第二个值
      

  10.   

    var v="aaa_bb_b";
    var f=v.split('_')[0];
    var s=v.substring(v.indexOf('_'));
      

  11.   

    这种需求经常会用到,封装一个好了,参考.
    String.prototype.advsplit = function(chr,limit)
    {
    var sp   = this.split(chr);
    var rt  = [];
    if(!limit || limit > sp.length) return sp;
    else{
    for(var i=0;i<limit;i++) rt[rt.length] = sp.shift();
    rt[rt.length] = sp.join(chr);
    }
    return rt;
    }
    var str = 'aaa__bb_b';
    alert(str.advsplit('_',1));//aaa,_bb_b
                    alert(str.advsplit('_',2));//aaa,,bb_b
                    alert(str.advsplit('_',3));//aaa,,bb,b
                    
      

  12.   

    var str="aaa__bb_b";
    var pos=str.indexOf('_');
    alert("字符串1:"str.substring(0,pos)+" 字符串2:"+str.substring(pos+1));
      

  13.   

    alert("字符串1:"+str.substring(0,pos)+" 字符串2:"+str.substring(pos+1));
    刚才少了个+号了,-0-
      

  14.   

    事实证明2L是可以的,   他alter里面不是写的str[0]么,后面的参数就是[1].....我自己才试过.