JavaScriptで文字列が条件に一致するかチェックする方法まとめ
2022-04-18
色々あって忘れがちなJavaScriptで文字列が条件に一致するかチェックする方法のまとめです。
指定された文字列が含まれるか
'あいうえお'.includes('いうえ'); // true
'あいうえお'.includes('きくけ'); // true
指定された文字列で始まるか
'あいうえお'.startsWith('あいう'); // true
'あいうえお'.startsWith('かきく'); // false
指定された文字列で終わるか
'あいうえお'.endsWith('うえお'); // true
'あいうえお'.endsWith('くけこ'); // false
指定した正規表現にマッチするか
/[い-え]/.test('あいうえお'); // true
/[き-け]/.test('あいうえお'); // false
指定した正規表現にマッチした文字列を取得する
正規表現にg
フラグがある場合と無い場合でレスポンスが変わるので注意。
g
フラグが無い場合はRegExp.exec()
の戻り値と同じものが返る。
マッチしなかった場合はnull
が返るので注意。
// gフラグあり
'あいうえお'.match(/[い-え]/g); // [ 'い', 'う', 'え' ]
'あいうえお'.match(/[き-け]/g); // null
// gフラグ無し
'あいうえお'.match(/[い-え]/); // [ 'い', index: 1, input: 'あいうえお', groups: undefined ]
'あいうえお'.match(/[き-け]/); // null
指定した正規表現にマッチさせてキャプチャグループを取得する
マッチすると配列風のオブジェクトが返る。
インデックス0
にマッチした全体、インデックス1
以降に括弧で指定したグループにマッチしたキャプチャグループが返る。
マッチしなかった場合はnull
が返るので注意。
/(い)(うえ)/.exec('あいうえお'); // [ 'いうえ', 'い', 'うえ', index: 1, input: 'あいうえお', groups: undefined ]
/(い)(くけ)?/.exec('あいうえお'); // [ 'い', 'い', undefined, index: 1, input: 'あいうえお', groups: undefined ]
/[き-け]/.exec('あいうえお'); // null