如何在文本字段的sencha touch中进行字母数字验证

How to do alphanumeric validation in sencha touch for textfield

如何在 textfield 的 Sencha Touch 中实施字母数字验证?我试过这种方式:

regex: /^[a-zA-Z0-9]*$/,
regexText: 'Invalid value in field',

但是当我输入 # 符号或任何其他特殊字符时它没有显示任何错误。

正如@Benoit Cuvelier 在评论中指出的那样:

According to docs: docs.sencha.com/touch/2.1.0/#!/api/Ext.field.Text Textfield component has no "Regex" properties (but in ExtJs it has). I think you should check the value on the change event

也就是说,使用 keyup 侦听器的简单实现可能是:

{
    xtype: 'textfield',
    label: 'Only alphanumeric values',
    name: 'alphanumeric',
    regex: /^[a-zA-Z0-9]*$/,
    listeners: {
        keyup: function(field) {
            var value = field.getValue();
            if (value.length && !value.match(field.config.regex)) {
                field.setStyle('border: 1px solid red;');
            } else {
                field.setStyle('border: 0;');
            }
        }
    }
}

https://fiddle.sencha.com/#fiddle/ttl