PHPの preg_match で、郵便番号のマッチングをする際、


000-0000と、 0000000 のいずれかという正規表現はどのように書けばよろしいのでしょうか?

パイプで区切ってもうまくいきませんでした。


"/^[0-9]{3}-[0-9]{4}$/ | /^[0-9]{7}$/"

上記のように書いてみましたがダメでした。

回答の条件
  • 1人2回まで
  • 登録:2009/11/12 15:17:13
  • 終了:2009/11/12 15:44:46

回答(1件)

id:GoldenDawn No.1

GoldenDawn回答回数426ベストアンサー獲得回数812009/11/12 15:36:31

ポイント60pt
"/^[0-9]{3}-?[0-9]{4}$/"

これでいいのではないかと思います。


"/^[0-9]{3}-[0-9]{4}$/ | /^[0-9]{7}$/"

これだとパターンを二つ含むことになるので

やるのなら

"/^([0-9]{3}-[0-9]{4})|([0-9]{7})$/"

こうですね。

id:gizmo_s

ありがとうございます!上記の内容で、正しく動作しました!

2009/11/12 15:44:07

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません