javascript エラー「Uncaught SyntaxError: Invalid regular expression flags」の解決方法

javascript エラー「Uncaught SyntaxError: Invalid regular expression flags」の解決方法

javascriptで、エラー「Uncaught SyntaxError: Invalid regular expression flags」が発生した場合の原因と解決方法を記述してます。「括弧」が抜けていたりした場合に発生します。

環境

  • OS windows11 pro 64bit
  • Apache 2.4.43
  • ブラウザ chrome 107.0.5304.122

エラー内容

以下のコードを実行時に発生。

let obj = {
  url: /foo/bar
};

console.log(obj)

エラーメッセージ

Uncaught SyntaxError: Invalid regular expression flags

画像

firefox(バージョン107)でも同様のエラーとなります。

Uncaught SyntaxError: invalid regular expression flag b

画像

safari(15.5)の場合は、以下のエラーとなります。

SyntaxError: Invalid regular expression: invalid flags

画像

原因

括弧が抜けているか、正規表現が間違っているため

解決方法

括弧をつけて文字列として扱う場合は、以下となります。

let obj = {
  url: '/foo/bar'
};

console.log(obj);

実行結果

正規表現の場合は、使用できる正規表現を使用する。

let obj = {
  url: /foo/g
};

console.log(obj);

実行結果