最后一个问题。
如果我想强制执行约束,例如我只想要信件,或者我只想要数字。
我该怎么做?
Public Property HealthCardNumber() As String
Get
Return _HealthCardNumber
End Get
Set(ByVal value As String)
_HealthCardNumber = value
End Set
End Property
谢谢
答案 0 :(得分:3)
您可以使用正则表达式执行此操作:
Public Property HealthCardNumber() As String
Get
Return _HealthCardNumber
End Get
Set(ByVal value As String)
Set validatorRegex = CreateObject("VBScript.RegExp")
validatorRegex.IgnoreCase = True
validatorRegex.Pattern = "^[a-z0-9]+$"
validatorRegex.Global = True
If validatorRegex.Test(value) Then
_HealthCardNumber = value
Else
' throw invalid value exception, or do whatever you think is appropriate
End If
End Set
End Property
上面的示例将匹配字母和/或数字的任意组合的字符串。
如果您只想要字母,可以使用此正则表达式:^[a-z]+$
如果您只想要号码,可以使用此正则表达式:^[0-9]+$
对于其他更具体的案例,您可以查找有关正则表达式和字符类的信息。