JavaScriptで部分一致検索を行う

JavaScriptで部分一致検索を行う

JavaScriptで部分一致検索がしたくて、やり方を調べた。

match関数を使った、正規表現チェック

const regex = /http:\/\/danroo.com\/post-[0-9+]/
if (this.url.match(regex)) {
  // urlがマッチした場合の処理

正規表現でマッチさせたい場合は、これがシンプルで使いやすい。
マッチしなかったら、nullが返される。

オプションは以下が用意されている。

gオプション

「g」をつけると、マッチする全てを含む配列を返してくれる。
下記のようにすると、複数のURLパラメータを返してくれるのだろう。

const regex = /http:\/\/danroo.com\/?key=1\/&[\w+]/g

iオプション

「i」をつけると、大文字と小文字を区別しないで検索してくれる。

 

indexOf関数を使った、前方一致チェック

if (this.url.indexOf('/www.danroo.com/') != -1) {
  // urlがマッチした場合の処理

indexOfは、最初にヒットしたインデックス値が返ってくる。正規表現を使わない場合は、これが便利。

 

部分一致とは違うが、配列値の存在チェック

const url = ['www.danroo.com', 'app.danroo.com']
if (this.url.includes('www.danroo.com')) {
  // url配列に存在する場合の処理

つい、どう記載するのが、ベターなのか、わからなくなってしまうことがあるので、残しておく。

Web技術カテゴリの最新記事