ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript の正規表現が機能しないのはなぜですか
JavaScript RegEx Not Working?
コードは正規表現を使用して日付形式の正当性をチェックしますが、常に false を返します。問題は正規表現の構築にあります。
文字列から正規表現を初期化するとき、パターン内のバックスラッシュ () を二重引用符で囲む必要があります。これは、文字列パーサーがバックスラッシュを文字列定数の特殊文字として扱うためです。
間違ったコード:
var regEx = new RegExp("^(0[1-9]|1[0-2])/\d{4}$", "g");
正しいコード:
var regEx = new RegExp("^(0[1-9]|1[0-2])//\d{4}$", "g");
または、さらに簡単に、スラッシュをエスケープする必要なく正規表現構文を使用します。
var regEx = /^(0[1-9]|1[0-2])/\d{4}$/g;
これで、正規表現は「MM/YYYY」形式の日付と正しく一致するはずです。 。正規表現パターン内に埋め込まれているスラッシュ (/) は必ず二重引用符で囲んでください。
以上がJavaScript の正規表現が機能しないのはなぜですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。