Character Sets

R

RN1

Assume that a TextBox is validated with the following RegEx (users can
enter any number from 1 to 9 in the TextBox):

<asp:TextBox ID="txt" runat="server"/>
<asp:RegularExpressionValidator ID="regexp" ControlToValidate="txt"
ValidationExpression="[1-9]" runat="server"/>

As expected, any number deom 1 to 9 entered in the TextBox evaluates
to True but if I change the ValidationExpression from [1-9] to [1-10],
then only 1 evaluates to True. The rest (from 2 to 10) evaluate to
False. Why are the numbers from 2 to 10 evaluating to False? Can
someone please explain me this?

Like 1, even 0 evaluates to True when the RegEx is [1-10]. In other
words, 0 & 1 evaluate to True & the rest from 2 to 10 evaluate to
False when the RegEx is [1-10].

An earnest request - PLEASE do not suggest alternate expressions to
validate the TextBox since I know that there are other alternatives.
All I want is to understand the logic behind the working of the RegEx
[1-10] & why it doesn't allow numbers from 2 to 10..

Thanks,

Ron
 
M

Martin Honnen

RN1 said:
Assume that a TextBox is validated with the following RegEx (users can
enter any number from 1 to 9 in the TextBox):

<asp:TextBox ID="txt" runat="server"/>
<asp:RegularExpressionValidator ID="regexp" ControlToValidate="txt"
ValidationExpression="[1-9]" runat="server"/>

As expected, any number deom 1 to 9 entered in the TextBox evaluates
to True but if I change the ValidationExpression from [1-9] to [1-10],
then only 1 evaluates to True. The rest (from 2 to 10) evaluate to
False. Why are the numbers from 2 to 10 evaluating to False? Can
someone please explain me this?

Like 1, even 0 evaluates to True when the RegEx is [1-10]. In other
words, 0 & 1 evaluate to True & the rest from 2 to 10 evaluate to
False when the RegEx is [1-10].

An earnest request - PLEASE do not suggest alternate expressions to
validate the TextBox since I know that there are other alternatives.
All I want is to understand the logic behind the working of the RegEx
[1-10] & why it doesn't allow numbers from 2 to 10..

Regular expressions don't know about numbers, it simply knows about
characters.
[1-10]
is the range from '1' to '1' plus the character '0' so it is the same as
[01]
 
R

RN1

RN1 said:
Assume that a TextBox is validated with the following RegEx (users can
enter any number from 1 to 9 in the TextBox):
<asp:TextBox ID="txt" runat="server"/>
<asp:RegularExpressionValidator ID="regexp" ControlToValidate="txt"
ValidationExpression="[1-9]" runat="server"/>
As expected, any number deom 1 to 9 entered in the TextBox evaluates
to True but if I change the ValidationExpression from [1-9] to [1-10],
then only 1 evaluates to True. The rest (from 2 to 10) evaluate to
False. Why are the numbers from 2 to 10 evaluating to False? Can
someone please explain me this?
Like 1, even 0 evaluates to True when the RegEx is [1-10]. In other
words, 0 & 1 evaluate to True & the rest from 2 to 10 evaluate to
False when the RegEx is [1-10].
An earnest request - PLEASE do not suggest alternate expressions to
validate the TextBox since I know that there are other alternatives.
All I want is to understand the logic behind the working of the RegEx
[1-10] & why it doesn't allow numbers from 2 to 10..

Regular expressions don't know about numbers, it simply knows about
characters.
  [1-10]
is the range from '1' to '1' plus the character '0' so it is the same as
  [01]

--

        Martin Honnen --- MVP XML
       http://JavaScript.FAQTs.com/- Hide quoted text -

- Show quoted text -

Thanks, Martin, not only for the prompt response but also for the
precise & simple method of explaining me the logic.

Thanks once again,

Ron
 

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

No members online now.

Forum statistics

Threads
473,754
Messages
2,569,521
Members
44,995
Latest member
PinupduzSap

Latest Threads

Top