2013-05-22 47 views
0

這是我的代碼的Javascript頂替工作不正常

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

有沒有人看到它出錯了?

+2

您在這裏發佈的代碼在語法上不合法 - 應該在哪裏結束引號和括號在這最後'alert'去?另外,如果你可以縮進你的代碼塊,這將會很有幫助,這樣人們可以更容易地理解你的問題並回答你的問題。 – apsillers

+0

對不起修正了上述錯誤 – Tom

回答

3

國家包含一個字符串 - 例如「UK」,然後您將其中的每個字符都取爲「U」或「K」,並試圖用「75」代替「UK」,這是不匹配的。

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

這應該工作

+0

是的,非常感謝你 – Tom