JSで文字列が正規表現にマッチするかどうかを調べる

JavaScript(jQueryでも可)を使って、文字列が正規表現にマッチするかどうかをクライアントサイドで検証したいと考えています。

^([a-z0-9]{5,})$

理想的には、trueまたはfalseを返す式にすることです。

私はJavaScriptの初心者ですが、match()は私が必要とすることをしてくれますか?全体ではなく、文字列の一部が正規表現にマッチするかどうかをチェックするようです。

ソリューション

真偽値が必要な場合は、regex.test()を使用してください。

console.log(/^([a-z0-9]{5,})$/.test('abc1')); // false

console.log(/^([a-z0-9]{5,})$/.test('abc12')); // true

console.log(/^([a-z0-9]{5,})$/.test('abc123')); // true

...そして、キャプチャを必要としないので、正規表現から () を取り除くことができます。

解説 (6)

文字列が正規表現にマッチするかどうかだけを知りたい場合は、/youregexp/.test(yourString)を使用してください。

解説 (0)

ここでは、/someregex/.test()が真偽値を返すことが明らかになるように、特定のHTMLタグを探す例を示します。

if(/(span|h[0-6]|li|a)/i.test("h3")) alert('true');
解説 (0)