Это мой код
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]);
}}
Кто-нибудь видит, где что-то пошло не так?
1 ответ
Country содержит строку - например, «UK», а затем вы берете каждый ее символ «U» или «K» и пытаетесь заменить «UK» на «75», что никогда не соответствует.
if (country){
country = country.replace("UK","75")
}
Это должно работать
Похожие вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript/JS) и его различных диалектах/реализациях (кроме ActionScript). Имейте в виду, что JavaScript — это НЕ то же самое, что Java! Включите все ярлыки, относящиеся к вашему вопросу; например, [node.js], [jQuery], [JSON], [ReactJS], [angular], [ember.js], [vue.js], [typescript], [svelte] и т. д.
alert
? Кроме того, было бы полезно, если бы вы могли делать отступы для блоков кода, чтобы людям было легче понять вашу проблему и ответить на ваш вопрос.