formのバリデーションで電話番号、郵便番号、その他数値を入力する場面で全角数字はエラーにしたいといった場合の書き方について書きます。
Javaは頭が良いので、全角数字も問題なくString型に変換してくれます。そのため、全角数字でエラーにしたいのにバリデーションを通ってしまうって部分で悩みました。
半角英数字、記号とかはNumberFomatExceptionが吐かれるのでcatchすれば良いのですが、全角数字は通っちゃいますね。
全角数字の場合の正規表現
全て全角数値
/^[0-9]+$/
これだけ実装して完了しました。
めでたし、めでたし。
その他サンプル正規表現
半角アルファベット
/^[a-z]+$/
全角アルファベット
/^[A-Z]+$/
アルファベット(大文字・小文字)
/^[a-zA-Z]+$/
コメント