Gustav Brock
Gustav at cactus.dk
Sat Jan 7 07:38:11 CST 2006
Hi Jim Here's another pattern: ^(?:[\w\!\#\$\%\&'\*\+\-\/\=\?\^\`\{\|\}\~]+\.)*[\w\!\#\$\%\&'\*\+\-\/\=\? \^\`\{\|\}\~]+@(?:(?:(?:[a-zA-Z0-9](?:[a-zA-Z0-9\-](?!\.)){0,61}[a-zA-Z0-9]? \.)+[a-zA-Z0-9](?:[a-zA-Z0-9\-](?!$)){0,61}[a-zA-Z0-9]?)|(?:\[(?:(?:[01]?\d{ 1,2}|2[0-4]\d|25[0-5])\.){3}(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\]))$ which claims to have a proven record (browse to 2004-04-28, 7:48 pm): http://www.codecomments.com/archive299-2004-4-184908.html However, it fails for me - and I don't have the need to debug it. Note that addresses may have a subdomain like: submit.ry8JtxnVhqqmpAFS at spam.spamcop.net /gustav >>> martyconnelly at shaw.ca 07-01-2006 07:35 >>> There is quite a range of vaild email addresses including the old X400 types Mastering Regular Expressions. Is the best Owl book for regexp The book ends with an example regular expression to match an email address. Its a 16,000+ byte regular expression. Just shows the scope of such a match when you want to get an email address "from the wild". This should verify or catch about 90-95% using regexp Function testEmail(strEmail As String) As Boolean If IsEmail(strEmail) Then ' email address ok Debug.Print "OK" testEmail = True Else ' email address not ok Debug.Print "False" End If End Function Function IsEmail(strText as String) 'Need to Set reference to Microsoft VBScript Regular Expressions 5.5 vbscript.dll/3 'or set for 5.6 Dim regEx as Object Set regEx = New RegExp regEx.Pattern = "^[\w\-\._]+@[\w\-]{2,}(\.[\w\-]{2,})+$" 'or "^([\w-_]+\.)*[\w-_]+\@ ([\w-_]+\.)+[a-zA-Z]{2,3}$" regEx.ignoreCase = True regEx.Global = True IsEmail = regEx.Test(strText) End Function Jim Moss wrote: >Does anyone have a good email validation module that they would be willing to share?