chokka
asked on
How to have textbox regular expression validation on asp.net?
How to have textbox regular expression validation on asp.net?
I will have to allow 3 digits and units in the text box. Decimal units should not exceed more than 2 units.
How to handle that?
I will have to allow 3 digits and units in the text box. Decimal units should not exceed more than 2 units.
How to handle that?
ASKER
1.0 to 999.99 is valid
If user entered 500.000 , it will not allow user to enter more than 500.00 or round it up.
In other words .. user cant type 100.00000000 .. decimal units should be stopped at 2 digit units.
If user entered 500.000 , it will not allow user to enter more than 500.00 or round it up.
In other words .. user cant type 100.00000000 .. decimal units should be stopped at 2 digit units.
I don't know ASP but the regex would be this:
That will require at least one digit before and after the decimal with a max of 3 before and 2 after.
^\d{1,3}\.\d{1,2}$
That will require at least one digit before and after the decimal with a max of 3 before and 2 after.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
This is my solution. It works.
But .. what it happens . is that, it allows the user to enter the number as 100.000000
and then prompt a message.
Instead of doing that, is there a way to prevent the user to type more than .00 digits.
But .. what it happens . is that, it allows the user to enter the number as 100.000000
and then prompt a message.
Instead of doing that, is there a way to prevent the user to type more than .00 digits.
ASKER
Also i am using <Input> syntax. Instead of ValidationExpression, i am using the attribute : pattern
I'm guessing there isn't a way to do that but, as I said, I don't know ASP (just regexes).
ASKER
Anyways, for now i am good. Thanks for helping me !!!!
ASKER
@Wilcoxon
Regex which you shared : ^\d{1,3}\.\d{1,2}$
When we enter the digit as 100 , it doesn't take it. It is expecting to enter the digit as 100.00
decimal unit should be optional as well as decimal unit should not exceed more than 2 units.
This is my current syntax :
Regex which you shared : ^\d{1,3}\.\d{1,2}$
When we enter the digit as 100 , it doesn't take it. It is expecting to enter the digit as 100.00
decimal unit should be optional as well as decimal unit should not exceed more than 2 units.
This is my current syntax :
[RegularExpression(@"\d{1,3}\.\d{1,2}$", ErrorMessage = "Invalid.")]
[Range(60.00, 120.00, ErrorMessage = "Invalid.")]
Is there some reason that you did not give me partial credit for providing the regex (the same one that David Johnson used in his code)?
Based on your original post and your first comment, it appeared you were saying that at least one decimal digit was required. To make it optional, change the regex to:
Now it will accept anything from 0 to 999.99 (if 0 should not be allowed then change the first \d{1,3} to [1-9]\d{0,2}).
Based on your original post and your first comment, it appeared you were saying that at least one decimal digit was required. To make it optional, change the regex to:
^\d{1,3}(?:\.\d{1,2})?$
Now it will accept anything from 0 to 999.99 (if 0 should not be allowed then change the first \d{1,3} to [1-9]\d{0,2}).
Please show a sample of valid and invalid entries