文字列内の位置に関係なく、文字列に2つ以上の値があるかどうかを確認したい. たとえば、正規表現で「OR」の条件が必要な場合は、次のようにします。
/(a|b)/.test("a") // true
しかし、必要なのは「AND」です。このようなもの:
/(a&b)/.test("a") // false
/(a&b)/.test("b") // false
/(a&b)/.test("a b") // true
/(b&a)/.test("a b") // true
/(a&b&c)/.test("a b") // false
/(a&b&c)/.test("a c b") // true
明らかに、この構文は正しくありません...
これらの値a
、b
、c
などは配列から取得されます。と の組み合わせを使用してみましたeval()
がindexOf(a) !== -1 && indexOf(b) !== -1
、遅すぎたため、正規表現を使用しています。