keydown代码:
If e.KeyCode >= Asc("0") AndAlso e.keycode <= Asc("9") Then
If e.sender.text.length > 10 Then
e.cancel = True
End If
ElseIf e.KeyCode <> Keys.Back Then
e.cancel = True
End If
代码思想:如果按键是0-9,则判断输入控件内容的长度是否超过10?(为啥不是11呀),则取消此次按键;
如果按键不是回车键,则取消此次按键(老师,我不太懂这个else if的目的);
validating代码:
Dim pattern As String = "^[0-9]{11}$"
Dim txt As String = e.Sender.Text
If txt > "" Then
Dim rgx = new System.Text.RegularExpressions.Regex(pattern, System.Text.RegularExpressions.RegexOptions.IgnoreCase)
If rgx.isMatch(txt) = False Then
e.Sender.Error = "联系方式是11位数!"
e.cancel = True
Else
e.Sender.Error = ""
End If
Else
e.Sender.Error = ""
End If
代码思想:定义一正则表达式,获取输入的文本内容,如果文本不为空,则判断text是否符合正则表达式,如果不符合,则提示错误,取消此次按键 ,如果匹配,则取消此次按键(老师我不太这个else的目的)
老师,因为这两段验证代码特别重要, 但是我理解的不清楚, 麻烦老师 点拨一下