Это мой код

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» или любой другой код страны, но мне нужно заменить это значение, чтобы оно соответствовало идентификатору страны, хранящемуся в другом месте, чтобы их можно было сравнить. Поэтому мне нужно указать этот фрагмент кода, чтобы заменить значение UK на 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]);
}}

Кто-нибудь видит, где что-то пошло не так?

0
Tom 22 Май 2013 в 17:40
2
Код, который вы разместили здесь, синтаксически неверен - где должны быть заключительная цитата и круглые скобки в последнем alert? Кроме того, было бы полезно, если бы вы могли делать отступы для блоков кода, чтобы людям было легче понять вашу проблему и ответить на ваш вопрос.
 – 
apsillers
22 Май 2013 в 17:42
Извините, мы исправили ошибки, как указано
 – 
Tom
22 Май 2013 в 18:17

1 ответ

Лучший ответ

Country содержит строку - например, «UK», а затем вы берете каждый ее символ «U» или «K» и пытаетесь заменить «UK» на «75», что никогда не соответствует.

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

Это должно работать

3
Tad 22 Май 2013 в 18:26