電話番号の形式が正しいかどうかを確認することはプログラミングにおいてよく行われるタスクの一つです。
C#では正規表現を使用して簡単に電話番号を検証することができます。
この記事ではC#の正規表現を使って電話番号が正しいフォーマットかどうかを確認する方法について解説します。
正規表現で電話番号の入力チェック
今回紹介するのは一般的な電話番号での正規表現でほかにも複雑な正規表現はネットを調べるとたくさん出てきますが、あまり複雑すぎると不具合が出たときに対応は難しくなります。
今回は私がよく利用する簡単な電話番号のチェック方法について紹介していきます。
ハイフンあるなし関わらずチェックする
using System;
using System.Text.RegularExpressions;
string phoneNumber = "09012345678";
bool isValid = Regex.IsMatch(phoneNumber, @"^0[-\d]{9,12}$");
string phoneNumber1 = "090-1234-5678";
bool isValid1 = Regex.IsMatch(phoneNumber1, @"^0[-\d]{9,12}$");
ハイフンありで判定しチェック
using System;
using System.Text.RegularExpressions;
string phoneNumber = "090-1234-5678";
bool isValid = Regex.IsMatch(phoneNumber, @"^0[-\d]{11,12}$");
ハイフンなしで判定しチェック
using System;
using System.Text.RegularExpressions;
string phoneNumber = "09012345678";
bool isValid = Regex.IsMatch(phoneNumber, @"^0\d{9,10}$");
正規表現で半角数字のみ許可する
using System;
using System.Text.RegularExpressions;
string phoneNumber = "1234567890";
bool isValid = Regex.IsMatch(phoneNumber, @"^\d+$");
この正規表現パターンは電話番号が半角数字のみで構成されているかを確認します。
広告
正規表現で10桁の半角のみ許可する
using System;
using System.Text.RegularExpressions;
string phoneNumber = "1234567890";
bool isValid = Regex.IsMatch(phoneNumber, @"^\d{10}$");
この正規表現パターンは電話番号が10桁の半角数字で構成されているかを確認します。
広告
正規表現でハイフンと半角数字を許可する
using System;
using System.Text.RegularExpressions;
string phoneNumber = "1234567890";
bool isValid = Regex.IsMatch(phoneNumber, @"^[\d-]+$);
この正規表現パターンは電話番号が半角数字およびハイフンで構成されているかを確認します。
ガマくん
郵便番号の正規表現についても以下記事で紹介しているよ
[C#]正規表現で郵便番号の入力チェック!ハイフンありなしについても
C#を使用して正規表現を利用して郵便番号のバリデーションを行う方法について解説します。正規表現を使うことで郵便番号が特定のパターンに従っているかどうかを簡単に確認できます。
まとめ
正規表現を利用することで電話番号に関する様々な条件を柔軟にチェックすることができます。
上記の例を参考にプロジェクトに合わせた正規表現を構築してください。