2010-11-13 70 views
1

var str = 'test TEST';突出的JavaScript字符串

如何得到回報str = '<span class="red">test</span> <span class="red">TEST</span>'。

非常感謝。

=============正確答案=================

理念從Tim Down

var highlighted = str.replace(/(test)/gi, '<span class="red">$1</span>'); 

<span class="red">test</span> <span class="red">TEST</span>

+0

由於空格不會顯示爲紅色,因此 test測試和您的結果之間沒有真正的區別?爲什麼不用包裝字符串來包裝呢? – MikeTheReader 2010-11-13 01:58:50

+0

如果字符串是'測試愛test' – love 2010-11-13 02:15:31

回答

2

下面將通過\w匹配的字符,它們是A-Z,A-Z,數字0-9和_組成字工作。這意味着,例如,它會失敗,包含重音字符的單詞,但將爲您的示例正常工作。

var str = 'test TEST'; 
var highlighted = str.replace(/([\w]+)/g, '<span class="red">$1</span>'); 
0

喜歡的東西:

str.replace(/(\w+) (\w+)/, '<span class="red">$1</span> <span class="red">$2</span>') 

應該工作。

-1
str = str.replace("test", "<span class=\"red\">test</span>"); 
str = str.replace("Test". "<span class=\"red\">Test</span>"); 
0
function highlightRed (string) 
{ 
    var array = string.split(" "); 
    var newstring = ""; 
    for(var i = 0; i < array.length; i++) 
    { 
    newstring += '<span class="red">'; 
    newstring += array[i]; 
    newstring += '</span>'; 
    } 
    return newstring; 
} 

str = highlightRed(str); 
+0

highlightRed( '試驗');無法比擬的'TEST' – love 2010-11-13 01:45:02

+0

我想我修復的錯誤,嘗試再次 – generalhenry 2010-11-13 01:51:37

+0

highlightRed(「測試」),就返回'的測試' – love 2010-11-13 02:01:08

0

你可以得到所有花哨正則表達式等,但它僅僅是一個簡單的字符串替換。

var tt = "<span class='red'>test</span>" 
var TT = "<span class='red'>TEST</span>" 

str = str.replace("test", tt).replace("TEST", TT); 
相關問題