Foxtable(狐表)用户栏目专家坐堂 → 请教如何验证输入格式?


  共有2851人关注过本帖树形打印复制链接

主题:请教如何验证输入格式?

帅哥哟,离线,有人找我吗?
jq_shang
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:217 积分:1646 威望:0 精华:0 注册:2018/1/21 10:25:00
请教如何验证输入格式?  发帖心情 Post By:2019/5/31 21:19:00 [只看该作者]

用掩码方式验证录入格式,老是出错,不会用啊。
尝试用代码来验证,下列代码仍然是表达式错误:
If e.Sender.Value Like ### Or e.Sender.Value Like #### Then
Else
    MessageBox.show("请输入3位或4位区号数字!")
    e.Cancel = True
End If

请各位大神给予帮助。

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110648 积分:563148 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/5/31 21:34:00 [只看该作者]


If e.Sender.Value.length = 3 OrElse e.Sender.Value.length = 4 Then
Else
    MessageBox.show("请输入3位或4位区号数字!")
    e.Cancel = True
End If

 回到顶部
帅哥哟,离线,有人找我吗?
jq_shang
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:217 积分:1646 威望:0 精华:0 注册:2018/1/21 10:25:00
  发帖心情 Post By:2019/5/31 21:36:00 [只看该作者]

只验证了长度啊。如何验证其必须为数字,而不能为字符?

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110648 积分:563148 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/5/31 21:40:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
jq_shang
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:217 积分:1646 威望:0 精华:0 注册:2018/1/21 10:25:00
  发帖心情 Post By:2019/5/31 21:51:00 [只看该作者]

谢谢蓝版主!

 回到顶部
帅哥哟,离线,有人找我吗?
jq_shang
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:217 积分:1646 威望:0 精华:0 注册:2018/1/21 10:25:00
  发帖心情 Post By:2019/5/31 22:05:00 [只看该作者]

上面帮助版面是验证判断单个字符或数字的,还是没太搞明白,如何在代码中,用like方法来验证一串字符或数字?

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110648 积分:563148 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/5/31 22:34:00 [只看该作者]

比如:

If e.Sender.Value.length = 3 OrElse e.Sender.Value.length = 4 Then
    For Each c As Char In e.Sender.Value
        If Char.IsDigit(c) = False Then
            MessageBox.show("请输入数字!")
            e.Cancel = True
            Return
        End If
    Next
Else
    MessageBox.show("请输入3位或4位区号数字!")
    e.Cancel = True
End If

又比如
If e.Sender.Value.length = 3 OrElse e.Sender.Value.length = 4 Then
    If Val(e.Sender.Value) = 0
        MessageBox.show("请输入数字!")
        e.Cancel = True
    End If
Else
    MessageBox.show("请输入3位或4位区号数字!")
    e.Cancel = True
End If

又比如:

If e.Sender.Value.length = 3 OrElse e.Sender.Value.length = 4 Then
    Dim d As Integer
    If Integer.TryParse( e.Sender.Value,d) = false
        MessageBox.show("请输入数字!")
        e.Cancel = True
    End If
Else
    MessageBox.show("请输入3位或4位区号数字!")
    e.Cancel = True
End If

 回到顶部
帅哥哟,离线,有人找我吗?
jq_shang
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:217 积分:1646 威望:0 精华:0 注册:2018/1/21 10:25:00
  发帖心情 Post By:2019/5/31 22:41:00 [只看该作者]

哦哦,这么复杂呀!谢谢蓝版主!

 回到顶部