如何限制数字字段输入输入多于两位小数
Posted
技术标签:
【中文标题】如何限制数字字段输入输入多于两位小数【英文标题】:How to restrict the numberfield input from entering more than two decimals 【发布时间】:2013-06-04 07:09:13 【问题描述】:强制小数精确到一定精度似乎很容易,而且它们有很多方法。我尝试使用 all as:
第一种方式:使用配置
xtype: 'numberfield',
fieldLabel: 'Balance',
name: 'balancefield',
decimalPrecision:2
替代方案:通过覆盖或扩展here
或者使用正则表达式
所有这些都适用于模糊或其他一些事件或函数。它们是在小数点后两位停止输入的一种方式。在 textfields 中我们可以使用 RegEx 和 maskRe 配置。但是在 numberfield 中,它们是否类似于 maskRe,所以用户不能输入两个以上小数点。 任何帮助表示赞赏。谢谢。
【问题讨论】:
【参考方案1】:maskRe
确实在数字字段内部使用,因此您必须模仿它的行为。也就是说,监听该字段的keypress
事件,如果输入适合您,则停止该事件。
例如,使用正则表达式强制两位小数精度:
Ext.widget('numberfield',
renderTo: Ext.getBody()
,enableKeyEvents: true
,listeners:
keypress: function(field, e)
var v = field.getValue();
if (!Ext.isEmpty(v))
if (/\.\d2,/.test(v))
e.stopEvent();
);
【讨论】:
谢谢 rixo。我之前实际上尝试过,但错过了 e.stopEvent(); 只是有一个问题。他们有什么限制小数点前的数字到 15。我在你提供的上述解决方案中尝试了不同的正则表达式。你能帮我解决这个问题吗。再次感谢 上述解决方案有一些问题> 我可以输入三个 0,后跟任何数字。小数点后的位数。以上是关于如何限制数字字段输入输入多于两位小数的主要内容,如果未能解决你的问题,请参考以下文章
Vue 限制input输入 限数字 或 小数点后两位number
ios开发怎么限制textfiled只输入数字和小数点,有小数时保留两位小数