我想验证输入的钱不能超过 int 的范围,不能出现负数,可以是小数。
但是 不能出现非法字符,比如字母,符号之类。
输入 0089 这种要有限制,或者变成89,或者提示是错误的数据。
输入 .89 这种也要有限制,或者变成0.89,或者提示错误的数据。谢谢各位了!!

解决方案 »

  1.   

    str = 金额字符串;
    alert(new RegExp(/[0-9]*\.?[0-9]{0,2}/).test(str) );看看
      

  2.   

    正则表达式可以这么写:
    \d{1,10}(\.\d{2})?$
    如果允许带有一位小数,可以这么写:
    \d{1,10}(\.\d{1,2})?$
      

  3.   

    用struts2验证器验证float型数据
      

  4.   

    我建议在action里面判断,要是用js的话,可以给绕过去,要是在action里面验证的话,他是没法绕的。这样更安全。