1

I need to find whether a number inputed by a user is valid
Following cases are valid

 1. `12`  

 2. `12.01`

The following case is invalid:

1. `12.`  // decimal point with no number following

I have written a regular expression like

var decimalValidation = /^[0-9]*(\.?)[0-9]*$/;  
var n = decimalValidation .test(value);  

But the problem is that it accepts a value like 12.

2

2 Answers 2

4

Change your regex like below to match both integer and floating point numbers.

var decimalValidation = /^\d+(?:\.\d+)?$/;  

DEMO

Sign up to request clarification or add additional context in comments.

Comments

1

If this was the case, I would use the following as pattern:

var pattern = /^[0-9]+(\.[0-9]+)?$/

I hope this fits in your condition.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.