这是我的代码
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);`
这将返回“英国”或“美国”的值或任何国家/地区代码,但我需要替换该值以与存储在其他地方的国家/地区 ID 相对应,以便可以对它们进行比较。因此,我需要能够告诉这段代码将 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]);
}}
有人看出哪里出了问题吗?
最佳答案
国家/地区包含一个字符串 - 例如“UK”,然后您将其每个字符“U”或“K”并尝试将“UK”替换为“75”,而“75”永远不会匹配。
if (country){
country = country.replace("UK","75")
}
这应该有效
关于Javascript 替换未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16693339/