Like演算子を使った判定
正規表現でやってもいいんだろうけど、そんなに複雑でないのならLike演算子だけでいける。
郵便番号チェック
n = "123-456z": s = n Like "###-####": MsgBox s 'False n = "123-4567": s = n Like "###-####": MsgBox s 'True n = "123-4567": s = n Like "###-####": MsgBox s 'True
パターン文字#は数字にマッチする。全角でもTrueを返す。まぁ、全角とはいえ数値な訳だし、後からStrConvで半角にしてやれば問題無いかな。
英字チェック
n = "HOGe": s = n Like "[A-Z][A-Z][A-Z][A-Z]": MsgBox s 'False n = "HOGe": s = n Like "[A-Z][A-Z][A-Z][A-z]": MsgBox s 'True n = "HOGe": s = n Like "[A-Z][A-Z][A-Z][A-z]": MsgBox s 'False
パターン文字を[A-Z]とすると、英大文字の場合Trueを返す。小文字も許容したい場合、[A-z]とする。全角は許容しない。