在textfields extjs 5上输入的每2个字符后添加点数

时间:2017-04-11 07:31:21

标签: javascript extjs textfield

如何在文本字段的每2个字符后添加点(。)。

有没有具体的方法呢?

我的代码:

WindowsAuthentication

1 个答案:

答案 0 :(得分:1)

您可以在change事件中将值更改为所需的格式。 只要字段的值发生变化,就会使用新值和旧值调用它。

首先使用以下代码删除以前的格式。

newValue = newValue.replace(/\./g, '');

然后应用新格式。

newValue = newValue.replace(/.{2}/g, function (substr) {
    return substr + '.'
});

最后,您必须使用

设置新值
field.setRawValue(newValue);

完整代码应该是这样的,请参阅working Sencha Fiddle

var txtNoNpwp = {
    listeners: {
        change: function (field, newValue) {
            newValue = newValue.replace(/\./g, ''); // remove previous format
            newValue = newValue.replace(/.{2}/g, function (substr) { // apply new format
                return substr + '.'
            });
            field.setRawValue(newValue);
        }
    },
    xtype: 'textfield',
    //...
};