当前位置: 代码迷 >> Web前端 >> 用parseInt跟parseFloat做数字输入验证
  详细解决方案

用parseInt跟parseFloat做数字输入验证

热度:190   发布时间:2012-10-24 14:15:58.0
用parseInt和parseFloat做数字输入验证

今天突然发现js的parseFloat和parseInt在解析字符串的时候是逐个字符解析的

具体情况如下:

parseInt("4aaa") 结果 4
parseInt("4.4") 结果4
parseInt("4.4aaa") 结果4
parseInt("") 结果NaN
parseInt("aaa") 结果 NaN

这样就可以直接判断parseInt结果如果不是NaN 就可以直接使用了。

if(parseInt("")){

    //不是NaN,也就是解析成功

}else{

       //是NaN,解析失败

}

?
为了输入框中没有非法字符可以将解析后的结果在赋值到输入框中。

最后使用 输入框的onblur事件来进行验证。

parseFloat 使用也是一样的

当然 这样在用户输入的时候可以随便输入,在离开光标的时候才进行验证得到系统需要的数据。
???? 局限性显而易见还有只能验证 int和float,对于其他特殊验证还得依靠我们强大的正则了

  相关解决方案