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");
  }
}
4

1 に答える 1

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");
  }
}
于 2012-05-21T17:38:47.100 に答える