単語が大文字と小文字の違いを無視して特定の部分文字列で始まるかどうかを確認する必要があります。私は次の正規表現の検索パターンを使用してこのチェックを行ってきましたが、文字列全体で大文字と小文字の違いがある場合は役に立ちません。大文字と小文字の違いを無視して正規表現を確認する正規表現
私の大文字と小文字を区別方法:
var searchPattern = new RegExp('^' + query);
if (searchPattern.test(stringToCheck)) {}
単語が大文字と小文字の違いを無視して特定の部分文字列で始まるかどうかを確認する必要があります。私は次の正規表現の検索パターンを使用してこのチェックを行ってきましたが、文字列全体で大文字と小文字の違いがある場合は役に立ちません。大文字と小文字の違いを無視して正規表現を確認する正規表現
私の大文字と小文字を区別方法:
var searchPattern = new RegExp('^' + query);
if (searchPattern.test(stringToCheck)) {}
を探していますあなたは、文字列の比較、まったくの正規表現を必要としない:
if (stringToCheck.substr(0, query.length).toUpperCase() == query.toUpperCase())
デモ:http://jsfiddle.net/Guffa/AMD7V/
をこれは、RegExpソリューションを動作させるために文字をエスケープする必要がある場合も扱います。たとえば、query="4*5?"
は常に他のものとすべて一致します。
は、この方法は正規表現検索よりもパフォーマンスが良いですか? –
@ user01:私がインストールした3つのブラウザでこれをテストしたところ、すべての方が高速でした:http://jsperf.com/regex-vs-compare – Guffa
+1&ありがとう。私はこの解決策に行くだろうが、正規表現について質問された質問については、私はその答えを受け入れる必要があります。 –
私は以前の答えがすべて正しいと思いますが、ここでSERPROに似た別の例がありますが、違いは新しいコンストラクタがありません: 注意:大文字と小文字は無視され、^はで始まります。
var whatEverString = "My test String";
var pattern = /^my/i
var result = pattern.test(whatEverString);
if (result === true) {
console.log(pattern, "pattern did match !");
} else {
console.log(pattern, " pattern did NOT match");
}
これは、試してみたい場合はjsfiddleです。
ありがとうございました! SOが許可するとすぐに受け入れます! –