質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

2回答

5079閲覧

fax番号の正規表現

MISHIRO

総合スコア27

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2017/08/17 03:28

webサイトを作る中でfax番号を入力するフォームを作ったのですが
使用するにあたり、入力された値が
正しいfax番号になっているかをチェックしなければなりません。

今回は正規表現を用いて調べてみようと思うのですが
自分が調べた分ですとfax番号には次のようなパターンがあります。
※下記の番号は桁数を表しています。

4-4-4-4
4-4-3-4
4-4-2-4
4-4-4
4-3-4
4-2-4
2-4-4
3-3-4
4-6

これを正規表現に起こすとこのようになりました

([0-9]{4,4}-[0-9]{4,6}-[0-9]{2,4}-[0-9]{4,4}|[0-9]{2,4}-[0-9]{2,4}-[0-9]{4,4}|[0-9]{4,4}-[0-9]{6,6})

なんだか長い気がするのでもう少し良い書き方があれば教えていただけないでしょうか?
もし、fax番号はここに記載したパターンのほかにこのようなパターンがあるというのがあれば教えていただけると助かります。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

実用的には\A0[0-9-]+[0-9]\zでしょうか。さらにチェックするなら、
・そこからハイフンを削除したら10桁か11桁
・ハイフンが連続しない
を追加するか。
あとは海外を考慮するかどうかですね。

そもそも数字の入力ミスをチェックできないので、あまり凝るのは無意味だと思います。
市外局番-市内局番-加入者番号
という形式でない場合(050 0120 0570等)は、ハイフンをどこに入れるのかは人の勝手だし。

また、電話会社(NTTとかKDDIとか)自体のものだと、特種な桁数かも知れません(00xx-xxxとか)。

投稿2017/08/17 04:15

otn

総合スコア84499

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

MISHIRO

2017/08/17 04:28

回答ありがとうございます。 あまり凝るのは無意味 ↑なるほど  いわれてみれば確かにそうです  本人のものでないかもしれないものを凝って調べたところでですね。
guest

0

ベストアンサー

まず、電話番号のハイフンの位置は、市外局番の区切り以外では適当に書いています。厳密に言えば、携帯電話の番号は「090-***-*****」とするのが正しいらしいのですが、誰も守らずに「090-****-****」と書かれる方が主流です。

そして、日本国内の電話番号は、

  • 普通の固定電話…0で始まる10桁(市外局番は03、04、06の2桁から、01374などの5桁まであり)
  • 着信課金(フリーダイヤルなど)0120からの10桁、もしくは0800からの11桁
  • IP電話…050から始まる11桁
  • その他、特殊な番号(1、00、0x0、0xx0で始まるもの)※0220など一部市外局番もあり

のようになっていますし、携帯電話を除けばFAXはこの番号、という割当がありません

投稿2017/08/17 03:51

maisumakun

総合スコア145183

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maisumakun

2017/08/17 03:54

結論:厳密にチェックはできない
MISHIRO

2017/08/17 04:14

まさかそのようなことになっていたとは... お答えいただきありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問