Need help understanding regular expression

G

Guest

Hi,

I have been using a regular expression that I don’t uite understand to
filter the valid email address. My regular expression is as follows:

<asp:RegularExpressionValidator id="valValidEmail"
runat="server"
ControlToValidate="txtEmail"

ValidationExpression="^([_a-z0-9-]+)(\.[_a-z0-9-]+)*@([a-z0-9-]+)(\.[a-z0-9-]+)*(\.[a-z]{2,4})$"
ErrorMessage="Invalid Email address."
Display="None">
</asp:RegularExpressionValidator>

Can someone explain me why the email address (e-mail address removed) is
considered an invalid email address?

Also can someone explain me what the above regular expression means?

Thanks,

Joe
 
B

Bruce Barker

the expression was written to be called with ignore case, but I'm not sure
you can pass the /i modifier to client script, so the capital Z fails.

explaining how complex regex expression works, is a bit beyond a newgroup
question. read about them, then ask about the part(s) you don't understand.
expect to spend several hours studying on it.

-- bruce (sqlwork.com)
 
T

Tom.PesterDELETETHISSS

Hi Joe,
Can someone explain me why the email address (e-mail address removed) is
considered an invalid email address?

Thats easy. The regex doesn't match capital letter. The regex says that after
the @ symbol the following may occur :
([a-z0-9-]+)
With some imagination you can see what is ment by a-z. It means a or b or
c or d ... or z But it doesn't mean any capital.
If you change the above to
([a-zA-Z0-9-]+)
The email "oe.green@Z-5com" will match now.

But dont expect the improved regex to match every valid email now. The rules
that make up a valid email are complex and so is a corresponding regex that
tries to match every possible variation.
You can try regexes you find on the net or at http://RegExLib.com and see
if it does match your newly discovered anomaly.

But if you don't understand regexes and only copy paste them you will now
for sure have cases in wich the new regex doesnt match where the old regex
did.

The best way is to learn the essentials of regexes so you can diagones the
problem and make a small correction to the regex isntead of pasting a completly
new one.

Here are some resources if you have the time and intrest :

The short intro http://www.regular-expressions.info/
The tool http://www.regexbuddy.com/screen.html
The book Mastering Regular Expressions by Jeffrey Friedl (http://regex.info/
Also can someone explain me what the above regular expression means?

Thats harder because a regex conveys much information in a short line. In
general that regex says
- only match emails that are alone one a line with no surrounding text (^
and $ take care of this)
- Match letters and digits and - followed by a point and than some more
of the same
- match the @
- Match letters and digits and - followed by a point and than some more
of the same
- end with a text section thats 2 to 4 characters in lenght (.com is ok .commercial
is not)

If you read the intro at http://www.regular-expressions.info/ most of the
more subtle details will become apparant I hope.

Let me know if you have any more questions..

Cheers,
Tom Pester
Hi,

I have been using a regular expression that I don't uite understand to
filter the valid email address. My regular expression is as follows:

<asp:RegularExpressionValidator id="valValidEmail"
runat="server"
ControlToValidate="txtEmail"
ValidationExpression="^([_a-z0-9-]+)(\.[_a-z0-9-]+)*@([a-z0-9-]+)(\.[a
-z0-9-]+)*(\.[a-z]{2,4})$"
ErrorMessage="Invalid Email address."
Display="None">
</asp:RegularExpressionValidator>
Can someone explain me why the email address (e-mail address removed) is
considered an invalid email address?

Also can someone explain me what the above regular expression means?

Thanks,

Joe
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,733
Messages
2,569,440
Members
44,830
Latest member
ZADIva7383

Latest Threads

Top