|
Custom Search
| |
|
Email address validation by Regular Expressions using VBA
If your application in MS Access or Excel needs to deal with email addresses, you may need a way to validate them. These email addresses can be input either by users of these applications or by import from other sources. The best way to validate email addresses is to use Regular Expressions because it matches patterns for valid email address format. To use Regular Expressions in VBA, you first need to add a reference in the VBA code editor. Open your Access or Excel file, then open VBA editor. Depends on your version of Microsoft Office, there are different ways to open VBA code editor. When VBA code editor is opened, on the menu bar across the top, click Tools -> References... Then in the list of Available References, find Microsoft VBScript Regular Expressions 5.5 and then check the box on the left.
Microsoft VBScript Regular Expressions is part of the core set of DLLs that make up Microsoft Office VBA environment. Below is the email address validation function I used in a mass mailer application I created in MS Access. So far it has been used to validate more than 200,000 email addresses and worked really well. Option Explicit Const MODULE_NAME As String = "modMail"In the code above, we first create an object objRegExp by using Regular Expressions library - RegExp. We then defined some properties for this object. We set IgnoreCase = True because for validation purpose, uppercase or lowercase does not any difference for email addresses. Even though the local-part of an email address can be case-sensitive (according to RFC 5321), it's only for email delivering purpose. For email validation purpose, "jsmith@example.com" and "JSmith@example.com" are all valid email addresses. Email address pattern ^([a-zA-Z0-9_\-\.]+)@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,20})$ was modified from this page. There are a lot of this kind of patterns on Regular Expression Library website, or you may search the net to find a pattern that you think is most suitable to your situation.
Happy Coding! |
Copyright © 2024 GeeksEngine.com. All Rights Reserved. This website is hosted by HostGator. No portion may be reproduced without my written permission. Software and hardware names mentioned on this site are registered trademarks of their respective companies. Should any right be infringed, it is totally unintentional. Drop me an email and I will promptly and gladly rectify it. |
Home | Feedback | Terms of Use | Privacy Policy |