var pattern =/^-?([1-9]\d*|0)(.\d+)?$/;

解决方案 »

  1.   

    但是我输入的是String,那么就要alert(!isNaN(parseFloat(23)));
    但是parseFloat(23asf)会把(23asf)变为23。所以我觉得还是正则表达是比较好。
      

  2.   

    ”“但是我输入的是String,那么就要alert(!isNaN(parseFloat(23)));”不是吧?直接lert(!isNaN(string))不就得了,干嘛费道手续啊?
      

  3.   

    isNaN()测试的函数不是严谨的。
    isNaN(1.1.1.1)也被认为是数字,正则会好一些,但是也没有包含科学计数法,但是平常的演算已经够用了