2012-03-25 63 views
0

例如,我有一個批准的字符列表:「a」,「b」和「c」。檢查字符串是否包含不在列表中的字符

所以,如果我有字符串:

var string = "aaabc8abccc"; 

我想這個腳本來檢測一個事實,即「8」是不是「a」,「B」或「C」和輸出:

var output = "aaabc<span style='color:red;'>8</span>abccc"; 

我該怎麼做?

回答

3
var strn= "aaabc8abccc"; 
var chrs = 'abc'; 
strn=strn.replace(new RegExp('([^'+chrs+'])','g'),'<span style="color:red">$1</span>'); 
+1

我不會說謊的正則表達式做到這一點,代碼有一些最初的動盪,但它現在起作用。 – mowwwalker 2012-03-25 07:09:00

+0

非常感謝!!!!!!!!!!! – supercoolville 2012-03-25 07:11:57

5

正則表達式:

result = subject.replace(/[^abc]/ig, "<span style='color:red;'>$&</span>"); 
+0

什麼是'$&'匹配? – qwertymk 2012-03-25 07:21:43

+1

@qwertymk,它匹配匹配的字符串。我一直都很喜歡:http://gskinner.com/RegExr/ – mowwwalker 2012-03-25 07:24:03

-2

您可以使用string.replace(regexp/substr,newstring)

在你的情況下,它會像

string.replace(/^[a-z]*/,"<span>$1</span>") 
相關問題