我想限制用户在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,0.123,1.3,0.1234等 无效量的:123,1234等
忘记了结束符在正则表达式,导致语法错误 –
我重申我的要求:用户只能输入整数部分,在这种情况下,十进制后的小数和零应自动出现,用户也可以只输入小数部分, .34),在这种情况下,0.34应该会自动出现 –