@eoao

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

正規表現で数字とハイフンのどちらも入力されているかの書き方

解決したいこと

Angularのフォームを利用してバリデーションを行おうとしています。
先頭と末尾が数字で間にハイフンが入るという正規表現の書き方を知りたいです。

/^\d+(\-\d+)$/

上記で数字と数字の間にハイフンが入るということは満たせたのですが、
ハイフンが入力されていない場合はエラーになりません。
ハイフンが未入力時でもエラーとしたいです。

ご回答よろしくお願いいたします。

0 likes

1Answer

その正規表現はハイフンが入っていない文字列にはマッチしないのでエラーになるはずですが。バリデーションの書き方は合っていますか?

 % node
Welcome to Node.js v22.14.0.
Type ".help" for more information.
> /^\d+(\-\d+)$/.test('123')
false
> /^\d+(\-\d+)$/.test('123-456')
true
0Like

Comments

  1. @eoao

    Questioner

    回答ありがとうございます。
    なぜかエラーにならないです。

    FormControlのValidators.patternを使用しているせいでしょうか?

Your answer might help someone💌