Javascript替换不按预期工作

时间:2013-05-22 13:40:22

标签: javascript replace

这是我的代码

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取代英国的价值。我尝试了以下内容,但它没有用。

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]);
}}

有没有人知道哪里出了问题?

1 个答案:

答案 0 :(得分:3)

国家/地区包含一个字符串 - 例如“UK”,然后您将其中的每个字符“U”或“K”,并尝试将“UK”替换为“75”,这些字符从不匹配。

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

这应该有效