JavaScript - What is the opposite of isNaN?

forms, javascript, validation

Solution

The literal opposite of `isNaN(num)` is `!isNaN(num)`. However, this won't always verify that something is numeric. To check if something is numeric, use jQuery's `$.isNumeric(num)`, or this

function isNumeric(num) {
  return !isNaN(parseFloat(num)) && isFinite(num);
}

Problem

I am very new to JavaScript, and trying to run a simple script which gives my field a red border if it is incorrectly completed (i.e. if the entry is not a number), but then turns the border colour green if the field is then correctly completed, but the form cannot be submitted because a different field has been filled out incorrectly. So far i have managed to do this for a text field by using this: ``` function validateForm() { var x=document.forms["myForm"]["FN"].value; if (x==null || x=="") { alert("First name must be completed"); document.forms["myForm"]["FN"].style.border="1px solid red"; return false; } else (x!==null || x!=="") { document.forms["myForm"]["FN"].style.border="1px solid green"; } ``` but I am now trying to do the same thing but limit the field to only accept numbers. What I have so far is this: ``` var x=document.forms["myForm"]["mobile"].value; if (isNaN(x) || x==null || x=="") { alert("Contact number must be completed with numbers only"); document.forms["myForm"]["mobile"].style.border="1px solid red"; return false; } else (x!==null || x!=="" || // need to write here is not isNaN !isNaN//) { document.forms["myForm"]["SN"].style.border="1px solid green"; } ``` This restricts the fie;ld to only allowing numbers, but once the form box border turns red, it will not turn to green once the validation has been met. Any help/tips on how to write is not isNaN, or any work arounds would be appreciated. Please try to keep as simple as poss, as am a complete beginner with web design & JavaScript. Thanks!

Original source