2012-05-21 66 views
0

我試圖循環訪問不允許的單詞數組。然而,我試圖完全匹配這個詞:例如,如果它匹配「貓」而不是「餐飲」,我會想做點什麼。所以我試圖測試一下,看看這個詞前後是否有空格,看看它是一個單詞而不是另一個單詞的一部分。使用表達式數組搜索

這裏是我的嘗試:

var badWords = [ 
    "cat", 
    "catering", 
    "cattle" 
]; 

var string = ""; 
for (j=0;j<badWords.length;j++) { 
    var regex = "/\s" + badWords[j] + "\s/"; 
    if string.search(regex)) { 
    alert("works"); 
    } 
} 
+0

如果「改爲」只能由字母,數字和下劃線,您就可以使用\ b代替,這是字端的零長度標記。 無論如何,你的問題是什麼? – MaxArt

回答

2
var badWords = [ 
  "cat", 
  "catering", 
  "cattle" 
]; 

var string = "cat"; 
for (var j=0;j<badWords.length;j++) { 
    var patt = new RegExp("(^|\\b)" + badWords[j] + "(\\b|$)"); 
  if(patt.test(string)) { 
    console.log("works"); 
  } 
} 
+0

謝謝:)這就是我所需要的。 – Steve