Validate number

2 snippets across 2 stacks — JavaScript, Regular Expressions

JSJavaScript

Number Checking

JS · Numbers & Math
syntax
Number.isNaN(value)
Number.isFinite(value)
Number.isInteger(value)
Number.isSafeInteger(value)
example
console.log(Number.isNaN(NaN));          // true
console.log(Number.isNaN("hello"));      // false
console.log(isNaN("hello"));             // true (!) 
console.log(Number.isInteger(4.0));       // true
console.log(Number.isSafeInteger(2**53)); // false

Note Always use Number.isNaN() over the global isNaN(). The global version coerces its argument to a number first, giving misleading results.

RXRegular Expressions

Number with Commas / Decimals

RX · Common Patterns
syntax
/^-?\d{1,3}(,\d{3})*(\.\d+)?$/
example
JS:  /^-?\d{1,3}(,\d{3})*(\.\d+)?$/.test('1,234,567.89')  // true
JS:  /^-?\d{1,3}(,\d{3})*(\.\d+)?$/.test('12,34')          // false
output
true, false (incorrect comma placement)

Note Validates US-formatted numbers with optional commas every 3 digits and optional decimal part. European formats swap comma and period -- adjust the pattern accordingly. The leading -? handles negative numbers.