vb中使用正则表达式

       之前做学生管理系统和和现在做的机房收费系统都有一些数据需要用户输入,比如注册学生信息需要输入学生姓名、性别、出生日期、年龄等。每一项数据信息都有一种数据类型与之相对应,拿年龄来说如系统要求输入的是介于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
当然我们还可以对验证条件进行约束如限制位数或者第一位匹配具体数字等。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值