ループして渡された別の文字列と比較する必要がある文字列の配列があります。
var filterstrings = ['firststring','secondstring','thridstring'];
var passedinstring = localStorage.getItem("passedinstring");
for (i = 0; i < filterstrings.lines.length; i++) {
if (passedinstring.includes(filterstrings[i])) {
alert("string detected");
}
}
var passedinstring
またはのような文字列がある場合、フィルタリング時に大文字と小文字の区別が無視されるようにするには (できれば正規表現を使用して) どうすればよいですFirsTsTriNg
かfiRSTStrING
?
ベストアンサー1
作成することができます正規表現filterstrings
最初から
var filterstrings = ['firststring','secondstring','thirdstring'];
var regex = new RegExp( filterstrings.join( "|" ), "i");
そこtest
にpassedinstring
var isAvailable = regex.test( passedinstring );
テスト実装は次のとおりです。
// Take care to escape these strings!
// If they are user-input or may contain special regex characters (such as "$" or "."), they have to be escaped.
var filterStrings = ['one','two','three'];
var regex = new RegExp(filterStrings.join( "|" ), "i");
var sentences = [
"one", // true
"OnE", // true
"a rabbit", // false
"and then two rabbits", // true
"standing", // false
"prone", // true
"AoNeAtWo", // true
];
sentences.forEach(sentence => {
console.log(
regex.test(sentence) ? '✅ match:' : '❌ not a match:',
"'" + sentence + "'",
);
});