Number Type Validation

Benchmark created by Milan Adamovsky on


Description

Fastest way to check number type

Preparation HTML

<script>
  var strA = 1,
      strB = 0,
      strC = -1.5,
      strD = 2500000000000000000,
      strE = -111111111111111111,
      strF = "25000000.00",
      strG = "-234543.32",
      strH = "+234543",
      strI = "hello",
      strJ = +234543;
</script>

Test runner

Ready to run.

Testing in
TestOps/sec
Regex
var a = /^(-)?(\d*)(\.?)(\d*)$/.test(strA),
    b = /^(-)?(\d*)(\.?)(\d*)$/.test(strB),
    c = /^(-)?(\d*)(\.?)(\d*)$/.test(strC),
    d = /^(-)?(\d*)(\.?)(\d*)$/.test(strD),
    e = /^(-)?(\d*)(\.?)(\d*)$/.test(strE),
    f = /^(-)?(\d*)(\.?)(\d*)$/.test(strF),
    g = /^(-)?(\d*)(\.?)(\d*)$/.test(strG),
    h = /^(-)?(\d*)(\.?)(\d*)$/.test(strH),
    i = /^(-)?(\d*)(\.?)(\d*)$/.test(strI);
ready
isNaN
var a = isNaN(strA),
    b = isNaN(strB),
    c = isNaN(strC),
    d = isNaN(strD),
    e = isNaN(strE),
    f = isNaN(strF),
    g = isNaN(strG),
    h = isNaN(strH),
    i = isNaN(strI);
ready
Compiled Regex
var regex = /^(-)?(\d*)(\.?)(\d*)$/;
regex.compile(regex);

var a = regex.test(strA),
    b = regex.test(strB),
    c = regex.test(strC),
    d = regex.test(strD),
    e = regex.test(strE),
    f = regex.test(strF),
    g = regex.test(strG),
    h = regex.test(strH),
    i = regex.test(strI);
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.

  • Revision 1: published by Milan Adamovsky on