以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 身份证号码输入 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=118707) |
-- 作者:良才 -- 发布时间:2018/5/9 10:57:00 -- 身份证号码输入 TextBox(文本框)KeyPress里,前17位只能输入数值,第8位可以输入数值或大写字母。请问老师可以做到吗? If Char.IsNumber(e.KeyChar) OrElse Char.IsUpper(e.KeyChar) Then ?
Else e.Cancel = True End If [此贴子已经被作者于2018/5/9 10:57:32编辑过]
|
-- 作者:有点甜 -- 发布时间:2018/5/9 11:03:00 -- 可以用掩码
http://www.foxtable.com/webhelp/scr/3100.htm
或者代码
If Char.IsNumber(e.KeyChar) OrElse Char.IsUpper(e.KeyChar) Then
If e.sender.Text.Length <= 17 andAlso Char.IsNumber(e.KeyChar) = false Then
e.cancel = true End If Elsee.Cancel = True End If |
-- 作者:良才 -- 发布时间:2018/5/9 11:32:00 -- 这样前17位值可以输,第18位不能输字母,如果第18位输数值,就删除不了。 [此贴子已经被作者于2018/5/9 11:32:48编辑过]
|
-- 作者:有点甜 -- 发布时间:2018/5/9 11:44:00 -- If Char.IsNumber(e.KeyChar) Then ElseIf Char.IsUpper(e.keychar) Then |
-- 作者:良才 -- 发布时间:2018/5/9 11:52:00 -- 谢谢!老师 |
-- 作者:良才 -- 发布时间:2018/5/9 13:28:00 -- 老师,还有学籍输入框,字符数19位,第1位是“G”或“L”,中间17位数值,第19位是数值或“X”,下面代码最后如果是数值可以,是“X”就不行了,请老师指教,谢谢! If e.keychar = "G" Or e.keychar = "L" OrElse Char.IsNumber(e.KeyChar) Then
If e.sender.Text.Length > 18 Then e.cancel = True End If ElseIf e.keychar = chr(keys.back) Then ElseIf e.keychar = "X" Then If e.sender.Text.Length < 18 Then e.cancel = True End If Else e.Cancel = True End If [此贴子已经被作者于2018/5/9 13:31:15编辑过]
|
-- 作者:有点甜 -- 发布时间:2018/5/9 14:46:00 -- If Char.IsNumber(e.KeyChar) Then If e.sender.text.length < 1 OrElse e.sender.Text.Length > 18 Then e.cancel = True End If ElseIf e.keychar = "G" OrElse e.keychar = "L" Then If e.sender.Text.Length >= 1 Then e.cancel = True End If ElseIf e.keychar = chr(keys.back) Then ElseIf e.keychar = "X" Then If e.sender.Text.Length < 18 OrElse e.sender.text.length > 18 Then e.cancel = True End If Else e.Cancel = True End If |
-- 作者:良才 -- 发布时间:2018/5/10 9:17:00 -- 谢谢 |