javascript で 正規表現のパターン構文が正しいかどうかチェックしたかったけどググってもいまいち情報が出てこなかったのでメモ代わり。
new RegExp() を行うときに引数となるパターン構文が不正なものだと例外が発生する。
SyntaxError: invalid range in character class
なので、「例外が発生=パターン構文が正しくない」ってことなので下記のように try{} catch(e){} すればいいかなと。
1 2 3 4 5 6 |
var pattern = '[0-9]'; try { new RegExp(pattern); } catch (e) { alert('パターン構文が正しくありません); } |