開発環境 Xpプロフェッショナル VB6.0
現在電話番号を登録できるプログラムを作っているんですけど、やりたいことは
最初にテキストの文字列を一文字ずつ調べて2バイトなら警告をだすという、この次が問題なんですが、0〜9と-以外の文字があったらMSGBOXで警告をだして登録できないようにしたいのですけど、イメージがわからなくて、困っています;
Private Sub Command1_Click()
Dim Si As Long
Dim Moro As String
Dim So As String
Moro = Text1.Text
For Si = 1 To Len(Moro)
So = Mid(Moro, Si, 1)
If LenB(StrConv(So, vbFromUnicode)) > 1 Then
MsgBox "全角は入力できません"
Exit Sub
End If
If Not So = [0 - 9] Or "-" Then ←ここが問題です;
MsgBox "数字以外が含まれています"
End If
Next
End Sub
問題のところはもちろんエラーでます、ですがイメージはこんな感じなんですが;
Like演算子について調べてください。
If So < "0" Or So > "9" Then
こうかな。
被りましたが、Likeの方がいいですね。
連続投稿です。orz
TextboxのIMEModeプロパティを「8-半角英数」に
しておけば、半角/全角のチェックは要りません。
電話番号だと正規表現で
Dim RE As New RegExp
RE.Pattern = "\d{2,4}-\d{2,4}-\d{4}"
If Not RE.Test(Text1.Text) Then
MsgBox "入力に誤りがあります"
End If
とやる手があります、なかなか完全なチェックは難しいですが。
正規表現はあまり詳しく有りませんのでパターンが最適では
無いかもしれません。
ありがとうございますー試してみますー
ツイート | ![]() |