Amanni
Amanni

Reputation: 1934

Detect if string is number or has decimal value in javascript

I need users to enter an amount and this may come in different formats like 500 or 500.00. So I need to check if the user has entered a number or a number with two decimal points. SO far I have tried

if(/^\d+$/.test(amount) === false || /[0-9]+(\.[0-9][0-9]?)?/.test(amount) === false){
          //valid
}else{
         //invalid
}

But so far only the one to check if it is a number is working fine.

Upvotes: 1

Views: 6118

Answers (1)

Anirudha
Anirudha

Reputation: 32797

I guess you are looking for this

var pattern=/^\d+(\.\d{2})?$/;
if(pattern.test(amount))
{
          //valid number pattern
}
else
{
         //invalid number pattern
}

\d+(\.\d{2})?$ would match 1 to many digits optionally followed by two decimal values..

Upvotes: 7

Related Questions