How to have textbox regular expression validation on

How to have textbox regular expression validation on

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?
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

David Johnson, CD, MVPRetiredCommented:
what is the difference between digits and units?
Please show a sample of valid and invalid entries
chokkaStudentAuthor Commented:
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.
I don't know ASP but the regex would be this:

Open in new window

That will require at least one digit before and after the decimal with a max of 3 before and 2 after.
Ensure Business Longevity with As-A-Service

Using the as-a-service approach for your business model allows you to grow your revenue stream with new practice areas, without forcing you to part ways with existing clients just because they don’t fit the mold of your new service offerings.

David Johnson, CD, MVPRetiredCommented:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication3.WebForm1" %>

<!DOCTYPE html>

<html xmlns="">
<head runat="server">
    <script src="Scripts/jquery-3.3.1.min.js"></script>

    <form id="form1" runat="server">
        <div><asp:TextBox ID="TextBox1" runat="server" />
<br />
<asp:RegularExpressionValidator ID="Regex1" runat="server" ValidationExpression="\d{1,3}\.\d{1,2}$"
ErrorMessage="Please enter valid integer or decimal number with 2 decimal places from 0-999.99."
ControlToValidate="TextBox1" />

Open in new window

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
chokkaStudentAuthor Commented:
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.
chokkaStudentAuthor Commented:
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).
chokkaStudentAuthor Commented:
Anyways, for now i am good. Thanks for helping me !!!!
chokkaStudentAuthor Commented:

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.")]

Open in new window

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:

Open in new window

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}).
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Regular Expressions

From novice to tech pro — start learning today.