1

我有一个要求,textfield/numberfield现在应该只允许0 to 99999.995 位数字和 2 位小数之间的值。

应限制用户使用任何无效号码。

我不擅长正则表达式,但这能解决我的问题吗?任何解决此问题的指针将不胜感激。

我需要限制用户输入任何超过 5 位的值。在 5 位之后只能放置一个小数,超过 2 位

有什么建议么 ?

4

2 回答 2

2

您需要添加自定义验证类型VTypes

addCustomVtypes : function() {
    var mRegex = /^\d{0,5}(\.\d{0,2})?$/;

    Ext.apply(Ext.form.field.VTypes, {
        mRegex : function(val, field) {
            return ralphaNumHyphen.test(val);
        },
        mRegexText : 'Invalid input. Message here.',
        mRegexMask : /\d{0,5}(\.\d{0,2})?$/i
    });
}

您可以在应用程序启动时调用它。

然后,在您的文本字段上,添加vtype: mRegex.

于 2013-10-31T10:14:03.277 回答
1
Ext.create('Ext.form.Panel', {
title: 'On The Wall',
width: 300,
bodyPadding: 10,
renderTo: Ext.getBody(),
items: [{
    xtype: 'numberfield',
    anchor: '100%',
    name: 'bottles',
    fieldLabel: 'Bottles of Beer',
    value: 0,
    maxValue: 99999.99,
    minValue: 0
}],
buttons: [{
    text: 'Take one down, pass it around',
    handler: function() {
        this.up('form').down('[name=bottles]').spinDown();
    }
}]

});
来自:http ://docs-origin.sencha.com/extjs/4.0.7/#!/api/Ext.form.field.Number

于 2013-10-31T09:11:51.370 回答