之前做学生管理系统和和现在做的机房收费系统都有一些数据需要用户输入,比如注册学生信息需要输入学生姓名、性别、出生日期、年龄等。每一项数据信息都有一种数据类型与之相对应,拿年龄来说如系统要求输入的是介于0-99之间的数字,当我们输入的不是0-99之间的数字时就应该提示用户重新输入。在做学生管理系统时处理这类事件用的是先判断是否为数字然后用if语句判断输入的数字是否介于0-99之间。其实最好的解决方法是用正则表达式来警醒验证。
Vb中使用正则表达式首先引用MicrosoftVBScript Regular Expressions 5.5,然后生名正则表达式相关对象RegExp.
Pattern:一个字符串,用来定义正则表达式。
IgnoreCase:一个布尔值属性,指示是否必须对一个字符串中的所有可能的匹配进行正则表达式测试。这是MS的解释,有点费解,实际使用中的实例是,如果True,则忽略英文字母大小的匹配,False对大小写进行匹配。
Global:设置一个布尔值或返回一个布尔值,该布尔值指示一个模式是必须匹配整个搜索字符串中的所有搜索项还是只匹配第一个搜索项。
MultiLine:这个MS没有介绍。查了一下资料,设置一个布尔值或返回一个布尔值,是否在串的多行中搜索。如果允许匹配多行文本,则multiline为true,如果搜索必须在换行时停止,则为false。
Execute:返回一个MatchCollection对象,该对象包含每个成功匹配的Match对象。
Replace:MS没有介绍,这是返回一个将匹配字符替换为指定字符的字符串。Test:返回一个布尔值,该值指示正则表达式是否与字符串成功匹配。
例如验证文本框中输入是否位数字:
Private Sub Command1_Click() dim a as boolean Dim re As RegExp Set re = New RegExp re.Pattern = "[0-9]" a = re.Test(Text1.Text) If a = False Then MsgBox "请输入数字!",vbOKOnly + vbExclamation,"警告" End If End Sub当然我们还可以对验证条件进行约束如限制位数或者第一位匹配具体数字等。 原文链接:https://www.f2er.com/vb/259529.html