首页 > 解决方案 > 验证工资输入jQuery

问题描述

我正在尝试验证输入值必须像 1.400,00 和 12.000,00。如果输入具有正确的值,它应该从 else 中删除禁用的类保持禁用。

我试过这样但没有成功:(

<input id="ex2" class="salary" type="number" placeholder="1.400,00 - 12.000,00" name="salaryRange2"/>

<a href="#" id="checkSalary1" class="btn next disabled">Next Step</a>

$("#ex2").on("keyup", function(){
    var valid = /^\d{1,6}(?:\.\d{0,2})?$/.test(this.value),
        val = this.value;

    if(valid){
        console.log("Invalid input!");
        this.value = val.substring(0, val.length - 1);
        $("#checkSalary1").removeClass("disabled");
    }
    else{
        $("#checkSalary1").addClass("disabled");
    }
});

任何人都可以帮助如何实现这种情况?

提前致谢

标签: javascriptjqueryhtml

解决方案


你的正则表达式是出路,这样的事情让你更接近一点:

^\d{1,2}.\d{3},\d{2}$

寻找:

  • 1-2 位数
  • 字面意思.
  • 3 位数
  • 字面意思,
  • 2 位数

您可能希望增强它以使小数部分成为可选的。

从那里,您需要将字符串实际解析为一个数字,以检查它是否在有效的数字范围内(例如,95.000,00将传递正则表达式检查,但不在范围检查中。


推荐阅读