• ベストアンサー

$numがFAX番号であるかどうかを

ereg('^(050-[0-9]{4]-[0-9]{4]| 0[1-9][0-9]{0}-[2-9][0-9]{3}-[0-9]{4]| 0[1-9][0-9]{1}-[2-9][0-9]{2}-[0-9]{4]| 0[1-9][0-9]{2}-[2-9][0-9]{1}-[0-9]{4]| 0[1-9][0-9]{3}-[2-9][0-9]{0}-[0-9]{4]| 0[1-9][0-9]{0}-[2-9][0-9]{2}-[0-9]{4]| 0[1-9][0-9]{1}-[2-9][0-9]{1}-[0-9]{4]| 0[1-9][0-9]{2}-[2-9][0-9]{0}-[0-9]{4])$',$num) の論理値で判断してよろしいでしょうか? 「-」が付いているものだけでいいのですが 何か余分なものや足りないものは無いでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • galluda
  • ベストアンサー率35% (440/1242)
回答No.3

がるです。 んっと、拝見している限りですと「FAXに使える可能性のある電話番号」という条件になると思うのですが。 その場合、基本的には 市外局番-市内局番-番号 という形式になるかと。で、市内局番は最低1桁から最高4桁、最後の番号は常に4桁になります。 後は、市外局番から除外したい番号は http://www.soumu.go.jp/joho_tsusin/top/tel_number/number_shitei.html を見て除外するとよろしいかと。 あとは上述の条件を正規表現化することでOKだと思うのですが。 「単純に数字5桁が羅列している」ものを「電話番号であるかただの数字とみなすか」あたりになると、後は仕様の取り決めになるかと思います。

その他の回答 (2)

  • galluda
  • ベストアンサー率35% (440/1242)
回答No.2

がると申します。 こういった「XXであるかどうか」という判定は、必ず「何と比較して」なのかを意識されておくとよいです。 もし「電話番号かFAX番号かを」判断するのであれば、それは無理です。電話かFAXかは、番号による管理をまったくされていないものなので。 もし「ある文章中にある、電話番号を含むFAX番号を抽出」するのであれば…難しいですね。ハイフンの入らない番号もありますし、()で囲まれているかもしれないですし。場合によっては全角など、状況はいくらでも考えられてしまうので。 前提条件が見えれば、もう少し何かアドバイスできるかもしれません。

reiman
質問者

お礼

ありがとうございます。 ハイフォンはつけるという前提でいいのです。 半角です。 書いていない部分は狭い条件です。 FAXに使うかどうかは番号の持ち主の問題でそうできるものをすべてFAX番号とします。 上記の条件で抜けはないでしょうか?

回答No.1

FAX番号を見分けることはできません。 ちなみに、050はIP電話に使われています。

reiman
質問者

お礼

ありがとうございます。 可能性のあるものを網羅すればいいのです。 Faxでない電話番号であってもFaxにできるものであればOKです。

関連するQ&A

専門家に質問してみよう