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