2013-01-31 108 views
-2

我需要識別字符串中的字符序列並用不同的字符串替換它們。使用jquery替換字符串中數據的字符

從此開始:

var data = { 
     name : 'Brian', 
     surname : 'Logan', 
     city : 'London' 
    } 

var msg = ' hello <name> <surname> from <city>! ' 

我需要處理字符串「味精」得到這個:

「你好!布萊恩·洛根從倫敦」

當我在Visual FoxPro中調用'textmerge'時,我使用了類似的方法,但是我找不到執行相同操作的jquery函數。

+3

http://www.whathaveyoutried.com –

+0

http://mustache.github.com/#demo – Shmiddty

+0

所以你還希望它削減主要空白和大寫的第一個字符? – Shmiddty

回答

5

只是通過更換功能replace

String.prototype.format = function(mapping) { 
    return this.replace(/<(.*?)>/g, function(match, name) { 
     return mapping[name]; 
    }); 
}; 

你可以把它像msg.format(data)

+0

非常乾淨的解決方案,我喜歡它。 – Shmiddty

+0

我必須嘗試一下,但看起來很完美!謝謝! – benVG

+0

我在項目中導入函數時遇到了一些問題。爲我寫作這樣的:'function textmerge(txt,data)var oTxt = txt.replace(/ <(.*?)>/g,function(match,prop){return to data [prop.toLowerCase()]; } ); return oTxt; }' – benVG