"事业部名称@21.公司名称@22.科室名称@23.事业部代码@66.公司代码@67.科室代码@68"上面这个字符串,
知道str="事业部名称","公司名称","科室名称","事业部代码","公司代码","科室代码"
如何获得紧跟其后@后面的数字比如 知道str="事业部名称"
获取21

解决方案 »

  1.   


    <script type="text/javascript">
    <!--
    var str = "事业部名称@21.公司名称@22.科室名称@23.事业部代码@66.公司代码@67.科室代码@68";
    var arr = "事业部名称,公司名称,科室名称,事业部代码,公司代码,科室代码".split(","); function Search(sWord){
    if((new RegExp(sWord+"@(\\d+)")).test(str)){
    return RegExp.$1;
    }
    }
       alert(Search(arr[5]));// arr[0]--事业部名称;arr[1]--公司名称...//-->
    </script>
      

  2.   

    function parse(str){
    var ret = {}, str = (str || '').split('.');
    for (var tmp, i = 0; i < str.length; i++) {
    tmp = str[i].split('@');
    if (tmp.length == 2) ret[tmp[0]] = tmp[1];
    }
    return ret;
    }function getCode(obj, name){
    return (obj[name] || null);
    }var obj = parse("事业部名称@21.公司名称@22.科室名称@23.事业部代码@66.公司代码@67.科室代码@68");
    alert(getCode(obj, '事业部名称'));
      

  3.   

    不想用循环
    最好是substring()
      

  4.   

    to:s_liangchao1s "事业部名称@21.公司名称@22.科室名称@23.事业部代码@66.代码@67.代码@68";
    如果:str = 代码
    得到的结果有问题 会得到66 
      

  5.   


    <script type="text/javascript">
    <!--
        var str = "事业部名称@21.公司名称@22.科室名称@23.事业部代码@66.代码@67.代码@68";
        var arr = "事业部名称,公司名称,科室名称,事业部代码,公司代码,科室代码".split(",");    function Search(sWord){
            if((new RegExp("(?:^|\\.)"+sWord+"@(\\d+)")).test(str)){
                return RegExp.$1;
            }
        }
       alert(Search("代码"));// arr[0]--事业部名称;arr[1]--公司名称...//-->
    </script>