![]() |
||||
![]() |
![]() |
![]() |
||
Javascript でおなじみの正規表現を VBScript で使用する方法です。
正規表現による Visual Basic Scripting Edition (VBScript) の機能強化で、細かな条件で検索や処理が可能になります。
詳細は下記マイクロソフトページをご覧下さい。
http://www.microsoft.com/japan/msdn/columns/scripting/scripting051099.asp
VB の場合、Microsoft VBScript Regular Expressions への参照を追加する必要があります。
文字列の中に半角英数字以外が含まれているかどうか確認する関数の例
Function blnCheck(strLen)
Dim objRE
Set objRE = new RegExp
objRE.IgnoreCase = True
objRE.pattern = "[^a-zA-Z0-9]"
blnCheck = objRE.Test(strLen)
Set objRE = Nothing
End Function
2行: 変数の宣言 − VB VBA の場合は、「 Dim objRE As Object 」
3行: 正規表現の作成
4行: 大文字と小文字の区別をしない − デフォルトは False なので、区別する場合はこの行は不要
5行: 正規表現を指定 − この場合は「a 〜 z、A 〜 Z、0 〜 9 のいずれにもマッチしない」
6行: objRE.Test(strLen) で条件にマッチする場合は True、そうでない場合は False が戻る
7行: オブジェクトを解放
Ex.
If blnCheck("ABCあabc123") Then
Msgbox "英数字以外が含まれています。"
End If
If blnCheck("ABCabc123") Then
Msgbox "英数字以外が含まれています。"
End If
1〜3行の場合、エラーメッセージが表示されます。
5〜7行の場合、エラーメッセージは表示されません。
メールアドレスの整合性を確認する関数の例
Function blnMailCheck(strLen)
Dim objRE
Set objRE = new RegExp
objRE.IgnoreCase = True
objRE.pattern = "^([\w]+)([\w\.-]+)@([\w_\-]+)\.([\w_\.\-]*)[a-z][a-z]$"
blnCheck = objRE.Test(strLen)
Set objRE = Nothing
End Function
4行: 大文字と小文字の区別をしない
5行: チェック内容
6行: 正しい場合は True、不正の場合は False が戻る