C# VB Web システム開発の部屋

システム開発で役に立つコードを厳選したブログです。

【VB.NET】文字列が電話番号かチェックする方法

 

'電話番号かチェックします

'初期値をセット
IsTelNumber = True
'10文字以上あるかチェック If Len(str) < 10 Then IsTelNumber = False Exit Sub End If
'数字とハイフンのみかチェック For i As Integer = 0 To Len(str) - 1 If Not str.Substring(i, 1) Like "[0-9-]" Then IsTelNumber = False Exit For End If Next
'ハイフンを除いて10文字か11文字になっているかチェック If Replace(str, "-", "").ToString.Length < 10 Or Replace(str, "-", "").ToString.Length > 11 Then IsTelNumber = False Exit Sub End If
'ハイフンでSplitした場合の長さが「1」か「3」になっているかチェック If Split(str, "-").Length = 3 Then
'3つに区切れたら、形式が電話番号っぽいか調べる If Not System.Text.RegularExpressions.Regex.IsMatch(str, "^0\d{1,4}-\d{1,4}-\d{4}$") Then IsTelNumber = False Exit Sub End If
'市外局番の桁数をチェック If Split(str, "-")(0).Length < 2 Or Split(str, "-")(0).Length > 5 Then IsTelNumber = False Exit Sub End If
'市内局番が0から始まっていないかチェック If Split(str, "-")(1).Substring(0, 1) = 0 Then IsTelNumber = False Exit Sub End If
ElseIf Split(str, "-").Length <> 1 Then
'3つ以外に区切れたらFalse IsTelNumber = False Exit Sub

End If

IsTelNumber True なら電話番号、Falseなら電話番号でない。

 

VB.NET