需要在邮政编码范围之间进行识别

时间:2012-04-20 01:44:24

标签: regex string vba range

我对很新,我正在试图弄清楚如何识别一个字符变化范围内的邮政编码。

例如,我想查看邮政编码是否介于2G82P8之间。

换句话说,我正在寻找的范围是2_8,其中下划线可以是GP,但我不知道我不知道如何在代码中识别它。

我真的很感激帮助找出解决这个问题的方法。谢谢!

2 个答案:

答案 0 :(得分:9)

LIKE避免重复字符串测试

<强> 1。简单测试

Function ValidString(strIn As String) As Boolean
ValidString = strIn Like "2[G-P]8"
End Function

<强> 2。案例不敏感版本

Function ValidString(strIn As String) As Boolean
ValidString = LCase$(strIn) Like LCase$("2[G-P]8")
End Function

答案 1 :(得分:7)

您可以使用VBA Mid功能提取每个字符并根据您的业务规则进行验证。以下是它的外观示例:

Function ValidatePostalCode(code As String)
    ValidatePostalCode = _
        (Mid(code, 1, 1) = "2") And _
        (Mid(code, 2, 1) >= "G" And Mid(code, 2, 1) <= "P") And _
        (Mid(code, 3, 1) = "8")
End Function

此函数将返回值TrueFalse,指示输入是否有效。