gpt4 book ai didi

javascript - 正则表达式限制货币的长度和模式

转载 作者:行者123 更新时间:2023-12-02 19:01:38 25 4
gpt4 key购买 nike

我想限制用户在 primefaces 输入文本中输入无效金额。最大整数和分数数字长度在运行时已知。我尝试使用 JavaScript 正则表达式来实现此目的。

    var pattern =/^\d{0,3}?[\.]?\d{1,3}$/;
if (pattern.test(amount)) {
return true;
}else {
console.log('rgx Failed');
return false;
}

对于这个例子,我考虑 3 作为最大整数和分数长度。
整数部分的长度可以为 0 到 3,小数部分至少为一位数字,最多为 3 位。但上面提到的 javascript 不起作用,它允许整数部分为 7 位数字。

我使用 inputText onKeyDown 事件调用此脚本,以便我可以检查每次按键并限制仅输入有效金额。

有效金额:123.123、12.1、1.12、.123、1.3、.1234 等无效金额:123.、1234 等

最佳答案

一个快速的解决方案是:

/^\d{0,3}\.\d{1,3}$/

为了满足更新的要求:

pattern.replace(/^(\d{0,3})\.?(\d{0,3})$/, function(m, g1,g2) {
return (g1 || 0) + '.' + (g2 || 0);
})

只要输入限制为 6 位数字和可选的小数位即可工作

关于javascript - 正则表达式限制货币的长度和模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14747650/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com