(注:このブログはもう更新していません)この日記は私的なものであり所属会社の見解とは無関係です。 GitHub: takahashikzn

[クラウド帳票エンジンDocurain]

固定電話番号の正規表現

固定電話番号のバリデーションをしたい時。
正規表現さん、お呼びですよー」となるわけです。


しかし、とっさに思いつく正規表現

String phoneNumberRegex = "\\d{2,4}-\\d{2,4}-\\d{4}";

だったりして、自分の安直さを悲しく思ったりするわけです。


で、「じゃ、キチンと書くとどうなるんだよ?ああ?」という話になるわけですが、
世の中にはすごい人がいるものです。


二度目の公開!電話番号の正規表現


総務省のホームページから正確なデータを引っ張ってきて自動生成している模様です。
まるでメールアドレスの正規表現を見た時のようなインパクト。


結局、僕はこちら正規表現を参考にしたものを使っています。

String phoneNumberRegex = 
    "(?!(?:090|080|070)-)\\d{2,5}-\\d{1,4}-\\d{4}|" + //"090-", "080-", "070-"で始まるものを除外
    "0120-\\d{2,3}-\\d{3,4}|" +
    "0800-\\d{3}-\\d{4}";