今天突然发现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,对于其他特殊验证还得依靠我们强大的正则了