45

大文字と小文字の違いを無視して、単語が特定の部分文字列で始まるかどうかを確認する必要があります。次の正規表現検索パターンを使用してこのチェックを行っていますが、文字列全体で大文字と小文字が異なる場合は役に立ちません。

私の大文字と小文字を区別する方法:

var searchPattern = new RegExp('^' + query);
if (searchPattern.test(stringToCheck)) {}
4

5 に答える 5

80

i修飾子を 2 番目の引数として渡します。

new RegExp('^' + query, 'i');

詳細については、ドキュメントを参照してください。

于 2013-02-20T11:24:39.980 に答える
22

正規表現はまったく必要ありません。文字列を比較するだけです。

if (stringToCheck.substr(0, query.length).toUpperCase() == query.toUpperCase())

デモ: http://jsfiddle.net/Guffa/AMD7V/

これは、RegExp ソリューションを機能させるために文字をエスケープする必要がある場合も処理しquery="4*5?"ます。

于 2013-02-20T11:30:22.410 に答える
2

このページでは、修飾子を 2 番目のパラメーターとして追加できることがわかります。あなたの場合、あなたは「i」(Canse insensitive)を探しています

//Syntax
var patt=new RegExp(pattern,modifiers);

//or more simply:

var patt=/pattern/modifiers;
于 2013-02-20T11:25:30.217 に答える