Posted By

CommissarXiii on 04/07/11


Tagged

numeric isnumeric


Versions (?)

JavaScript isNumeric function


 / Published in: JavaScript
 

URL: http://stackoverflow.com/questions/18082/validate-numbers-in-javascript-isnumeric

The (input - 0) expression forces javascript to do type coercion on your input value; it must first be interpreted as a number for the boolean compare. If that conversion to a number fails, the expression will result in NaN. Then this numeric result is compared to the original value you passed in. Since the left hand side is a number, type coercion is again used. They should always be the same (always true), but there's a special rule that says NaN is never equal to NaN, and so a value that can't be converted to a number will always return false. The check on the length is of course for the empty string special case. In summary, if you want to know if a value can be converted to a number, actually try to convert it to a number.

  1. function IsNumeric(input)
  2. {
  3. return (input - 0) == input && input.length > 0;
  4. }

Report this snippet  

You need to login to post a comment.