user2320476 user2320476 - 5 months ago 16
Javascript Question

Validating a percentage variable. No decimal points, No negative numbers

This sounds easy but unable to get it to work.
I need to accept a percentage number from 0 to 100 with no decimal numbers, no negative numbers.
How can I do this validatation?

if ((Pcomplete == "" ) || (Pcomplete < 0 && Pcomplete > 100)) {
alert('Percentage field is required. You need to type a number between 0 and 100');
return false;
}

Answer

A Mod check will work to make sure that the variable is a whole number:

If Pcomplete % 1 == 0, then it is not a decimal number. Also, the vairbale cannot be both over 100 and less than 0, so seperate them with a ||.

if ((Pcomplete == "" ) || (Pcomplete < 0) || (Pcomplete > 100) || (PComplete % 1 !==0) {
  alert('Percentage field is required. You need to type a whole number between 0 and 100');
  return false;
}