我的JavaScript RegExp需要协助我的工资收入

时间:2016-01-18 18:40:06

标签: javascript

我可以让它只允许数字,但我需要帮助:

  1. 只有第一个数字可以大于0
  2. 用户最多可输入9个字符,最少2个字符,然后必须输入小数点。
  3. 小数点后,他们只能再输入2个数字。

    $("#mytextbox").on("keypress", function(event) {
    
        var ValidPrice = /[1-9][0-9]/;
        var key = String.fromCharCode(event.which);
    
        if (event.keyCode == 8 || event.keyCode == 37 || event.keyCode == 39 || ValidPrice.test(key)) {
            return true;
        }
    
        return false;
    });
    
    $('#mytextbox').on("paste",function(e) {
        e.preventDefault();
    });
    

1 个答案:

答案 0 :(得分:1)

要强制大于0的数字,您的第一部分[1-9]应该有效。

对于2到9个字符(或除第1个数字外的1到8个字符),您可以使用[0-9]{1,8}\d{1,8}

对于小数点,请使用\.

如果还有两个号码,请使用\d{2}

因此,要将这些添加到一起,/[1-9]\d{1,8}\.\d{2}/应该可以正常工作。

但是,您也可以通过完全避免使用Regex来实现类似的功能 - this answer may help