Help us understand the problem. What is going on with this article?

【JavaScript】~を含むかのチェック

More than 3 years have passed since last update.

matchを使う方法

str.match(/文字列/)で、文字列が含まれれば配列、文字列が含まれなければnullが返ることを利用する。

if ( str.match(/hoge/)) {
//strにhogeを含む場合の処理

}

indexOfを使う方法

str.indexOf(文字列)で、文字列が見つかれば文字列が見つかった場所(0以上)、文字列が見つからなければ-1が返ることを利用する。

返り値!=-1
if ( str.indexOf('hoge') != -1) {
//strにhogeを含む場合の処理

}
ビット反転演算子
if ( ~str.indexOf('hoge')) {
//strにhogeを含む場合の処理

}

ビット反転演算子の解説

文字列が見つからない場合、indexOfが-1を返す。-1をビット反転演算子にかけると、0が返る。if文では、0が真と判定される。

※ビット反転演算子
整数をビット反転演算子にかけると、符号を反転してマイナス1した数になる。
例)
~1 → -2
~-1 → 0
~0 → -1

kazu56
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away