JavaScript での大文字と小文字を区別しない正規表現一致の実行
URL を操作する場合、多くの場合、クエリ文字列からデータを抽出する必要があります。 JavaScript では、正規表現を使用してこの抽出を実行するのは簡単ですが、大文字と小文字を区別しないことを保証するのは困難な場合があります。
この投稿では、大文字と小文字を区別した比較によって一貫性のない結果が生じる可能性がある一般的な問題について検討します。次のコード スニペットについて考えてみましょう:
var results = new RegExp('[\?&]' + name + '=([^&#]*)').exec(window.location.href); if (!results) { return 0; } return results[1] || 0;
このコードは、現在の URL から 'name' という名前のクエリ文字列パラメータの値を抽出することを目的としています。ただし、クエリ文字列名の大文字と小文字を区別しない比較は実行されないため、名前の大文字と小文字が異なる場合に予期しない動作が発生する可能性があります。
この問題を解決するには、「i」を利用できます。正規表現に修飾子を追加して、大文字と小文字を区別しない比較を行います。この修飾子は、以下に示すように、正規表現の最後のスラッシュの直後に追加する必要があります。
var results = new RegExp('[\?&]' + name + '=([^&#]*)', 'i').exec(window.location.href);
「i」修飾子を含めることにより、正規表現はクエリ文字列名の大文字と小文字を無視するようになります。これにより、入力の大文字と小文字に関係なく比較が成功することが保証されます。
以上がJavaScript の正規表現一致で大文字と小文字を区別しないようにするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。