• ベストアンサー

$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

  • NUM0キーとは

    NUM0キーってどこにあるのですか? また、NUM1~NUM6のキーの位置も、教えていただけませんか? Windows PCです。

  • エクセルで#NUM!が出て困っています

    みなさま、お世話になります。 MOD関数(この関数だけでは無いかもしれませんが・・・)分子に10桁以上を入れると、#NUM!エラーが出ます。詳細は以下のとおりです。よろしくお願いします。  NUM(100000000,7)→2  NUM(1000000000,7)→#NUM!

  • PHP 正規表現 数字又は数字以外を判別

    下記コードですが、 「数字以外が含まれています。」と表示されるはずなのに「数字です。」と表示されてしまいます。どこがおかしいかお分かりの方おられますか? $num1 ="123"; $num2 ="a"; $num3 ="123"; if($num1 != "" or $num2 != "" or $num3 != "") { if($num1 == "" or $num2 == "" or $num3 == "") { if(!ereg("^[0-9]+$", $num1) or !ereg("^[0-9]+$", $num2) or !ereg("^[0-9]+$", $num3)) { print "数字以外が含まれています。\n"; } } } else { print "数字です。\n"; }

    • 締切済み
    • PHP
  • NUM LOCK Keyについてです。

    NUM LOCK Keyについてです。 東芝Dynabook TX/66LBLYDです。テンキーから数字を入れる癖があり、NUM LOCKをかけているのですが、NUM LOCKのKeyがBack Spaceのすぐそばにあり、知らない間にNUM LOCKを押して解除してしまうことがしばしばです。NUM LOCKを常時ONにしたいのですが、可能でしょうか?

  • Num Lock

    Num Lock キーは、何をするキーなのですか。

  • Num lock

    Num LockをON,OFFどちらにしても、数字の入力が出来ません?どうしたら?

  • Numロックがつきません

    WindowsXPデスクトップを利用しています。起動時にNumロックランプがつきません。どなたか教えてください。

  • #DIV/0! #NUM! の表示を消したいのですが

    未計算時の#DIV/0! #NUM!表示を消したいのですが何か良い方法はありませんか?シートが#DIV/0! #NUM!だらけになって非常に見にくく困ってます。 大変申し訳ありませんがよろしくお願いいたします。

  • 「Num Rock」の意味?

    以前こちらで「Num Rock」キーを押さえても数字が打てるようにするには?という質問をさせていただいた者です。その節にはすぐに回答をいただき、ありがとうございました。 そのことなんですが、そもそも「Num Rock」キーを押さえると数字が打てなくなるという必要性があるのかどうか? という疑問がわいてきました。 これって逆に言うと、前もって「Num Rock」キーを押さえておくと、誤って数字のキーを打っても反映しないということですよね。そういう必要性があるのは、どういった場合なのでしょうか。

  • キーを使わずにNum Lockを切り替える方法は?

    Num Lockキーを使わずに Num Lockを有効/無効にする方法はありますか? 一般的なデスクトップ用テンキー付き日本語キーボードを使用しています。 私はNum Lockを無効にして使うことが考えられないため、Num Lockキーを押せないようにしています。何かのきっかけで、Num Lockが無効になっており切り替えられず狼狽しました。 今回は仕方がなく別のキーボードを接続して切り替えました。しかし何かしらの方法があってもいいような気がします。 Num Lockキーを使わずに Num Lockを有効/無効にする方法はありますか? もしあるのならその方法を教えてください。 よろしくお願いします。