2016-10-14 12 views
0

jsファイル内のすべての文字列比較を大文字と小文字を区別しないようにする簡単な方法はありますか?ここでは、通常のチェックの簡単な例です:jsファイルで大文字と小文字を区別しないすべての文字列を比較するのは簡単ですか?

var message = 'This is a Test'; 
var isTest = message.toLowerCase().indexOf('test') > -1; 

これは、1つのチェックのための悪い方法ではないですが、それはファイルで10+回行う必要がある場合には、冗長なります。 jsファイルのスコープ全体で文字列を大文字と小文字を区別するための簡単な方法はありますか?

+2

は、関数内でそれをラップして、あなたの全体の関数を呼び出す見ますファイル。 – RJM

+1

[RegExp](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp)は、大文字と小文字を区別しないテストを行うことができます。 – Teemu

+0

[JavaScript:大文字と小文字を区別しない検索]の可能な複製(http://stackoverflow.com/questions/177719/javascript-case-insensitive-search) –

答えて

0

あなた自身の関数を書いて、どこでも使えます。

function contains(a, b) { 
 
    return a.toLowerCase().indexOf(b.toLowerCase()) > -1; 
 
} 
 

 
console.log(contains('This is a Test', 'test')); 
 
console.log(contains('ABC', 'abc')); 
 
console.log(contains('ABCdefGHI', 'Fgh')); 
 
console.log(contains('Nope, no match', 'See?'));

0

私は2つのオプションを参照してくださいと、それを行う機能を確認して、大文字と小文字を区別しない

/test/i.test(message) 

2 - 作るi

の1-正規表現をStringオブジェクトに割り当てる可能性

あなたが(すべてのブラウザとの互換性はありません)ES6の機能を使用できるかどうかはさておき、 indexOfよりも「より良い」方法がありますよう
// wrapper function 
function iIncludes(needle, haystack) { 
    return haystack.toLowerCase().indexOf(needle) >= 0; 
} 
iIncludes('test', 'This is a Test') // returns true 

// attached to the String prototype 
if (!String.prototype.iIncludes) { 
    String.prototype.iIncludes = function(needle) { 
    return this.toLowerCase().indexOf(needle) >= 0; 
    } 
} 
'This is a Test'.iIncludes('test') // returns true 

includes

関連する問題