gaurav sabharwal
gaurav sabharwal

Reputation: 63

Regex101: Check if a floating point number (e.g. 3.14159) is in a valid format.(Question 11)

This is question 11 from the regex101 quiz

I have been trying to figure out a solution to solve the test case below from failing. Can someone help with this?

Test 60/89: Just a dot is not a valid floating number.

I am using the regex below.

/^[+-]?\d*([.,]\d*)?([Ee][+-]?\d+)?$/g

Upvotes: 4

Views: 780

Answers (1)

Wiktor Stribiżew
Wiktor Stribiżew

Reputation: 626926

You can use

/^[-+]?(\d+[,.]|\d*[.,]?\d+)(e[-+]?\d+)?$/i

Details:

  • ^ - start of string
  • [-+]? - an optional - or +
  • (\d+[,.]|\d*[.,]?\d+) - either one or more digits, then , or ., or zero or more digits, an optional .or,` and then one or more digits
  • (e[-+]?\d+)? - an optional occurrence of e, then an optional - or + and then one or more digits
  • $ - end of string.

Upvotes: 6

Related Questions