如何在文本字段的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;');
}
}
}
}
如何在 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;');
}
}
}
}