views:

44

answers:

2

Hi,

I want to get a user input from user in a textbox, but i need to validate it

1.It should not take more than 7 digits before decimel

2.it should not take more than 3 digits after decimel

I actually figured out the 2nd part,,but first part is still a problem my regular expression is:

/^([0-9]{0,7})+(\.[0-9]{1,3})?$/

Tell me where i m going wrong

Suggest a valid regularexpression

A: 

/^\d{1,7}\.\d{1,3}$/

This will match 1-7 digits dot 1-3 digits. Are either the integer or decimal required? Is .333 or 333 valid?

Rob
+3  A: 

You don't need the plus, and I would use \d instead of [0-9] but I don't know that it is any faster:

/^\d{0,7}(\.\d{1,3})?$/

The reason your regex failed is that you had the + sign after your first test which means "one or more matches". So it was looking for on or more sets of [0-9]{0,7} which would match any number of characters before the decimal point.

Doug Neiner