javascript エラー「Uncaught TypeError: regex.test is not a function」の解決方法

javascript エラー「Uncaught TypeError: regex.test is not a function」の解決方法

javascriptで、エラー「Uncaught TypeError: regex.test is not a function」が発生した場合の原因と解決方法を記述してます。正規表現を「’」などの引用符で囲った場合に発生します。「chrome」や「firefox」や「safari」の各ブラウザのエラーメッセージの画像もキャプチャしてます。

環境

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

エラー内容

以下の、正規表現を使用したコードで発生。

const regex = '/[0-9]/';

const result = regex.test('123');

エラーメッセージ

Uncaught TypeError: regex.test is not a function

画像

firefox106の場合では、以下のエラーが発生します。

Uncaught TypeError: regex.test is not a function

画像

safari15.5では、以下のエラーとなります。

TypeError: regex.test is not a function. (In 'regex.test('123')', 'regex.test' is undefined)

画像

原因

正規表現は「引用符」で囲まれていると「文字列」として認識されるため

解決方法

「引用符」を外す

const regex = /[0-9]/;

const result = regex.test('123');

console.log( result ); // true