ports:'@SHANGHAI|中国|10|上海@SHENZHEN|中国|12|深圳@XIAMEN|中国|13|厦门@'有上面一段存储信息脚本我想根据数字取出城市,求解决方案方法

解决方案 »

  1.   


    var str='@SHANGHAI|中国|10|上海@SHENZHEN|中国|12|深圳@XIAMEN|中国|13|厦门@'
    var arr=str.split('@');
    for(var i=1;i<arr.length-1;i++){
       var city=arr[i].split('|');
       alert(city[3]);
    }
      

  2.   

    var str = "ports:'@SHANGHAI|中国|10|上海@SHENZHEN|中国|12|深圳@XIAMEN|中国|13|厦门@'";
    function getCity(id) {
    var reg = new RegExp(id + '\\|([^@]+)');
    reg.exec(str);
    return RegExp.$1;
    }
    alert(getCity('10'));
      

  3.   

    var str = '@SHANGHAI|中国|10|上海@SHENZHEN|中国|12|深圳@XIAMEN|中国|13|厦门@'
    var number = 13;
    var m = str.match(new RegExp("(?:^|@)?[a-z]+\\|[^|@]+\\|" + number + "\\|([^|@]+)(?:@|$)", "i"));
    if (m) alert(m[1]);