2012-03-25 95 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>") 
相关问题