0

这是我的代码

var tmp = document.body.outerHTML.match(/<b>Location: <\/b>([^,]+),([^,]+),([^,])([^\s]+) <br>/i);
DataExtractor.AddHeader(14, 'id_country');
  var country
    if( tmp ){country = tmp[1]
   }
  else{alert('country is not set')} 
DataExtractor.AddResult(14, country);`

这将返回“UK”或“USA”的值或任何国家代码,但我需要替换此值以与存储在其他地方的国家 ID 相对应,以便可以比较它们。因此,我需要能够告诉这段代码用 75 替换值 UK。我尝试了以下方法,但它只是没有用。

var tmp = document.body.outerHTML.match(/<b>Location: <\/b>([^,]+),([^,]+),([^,])([^\s]+) <br>/i);
DataExtractor.AddHeader(14, 'id_country');
  var country
    if( tmp ){country = tmp[1]
    if (country){
      for (var i = 0; i < country.length; i++) {
      country[i] = country[i].replace("UK","75")
}
    else{alert('country is not set')}
DataExtractor.AddResult(14, country[i]);
}}

有谁看到哪里出错了?

4

1 回答 1

3

country 包含一个字符串 - 例如“UK”,然后您将其每个字符取为“U”或“K”并尝试将“UK”替换为“75”,而这永远不会匹配。

if (country){
    country = country.replace("UK","75")
}

这应该工作

于 2013-05-22T14:26:00.360 回答