Regex Extjs 5验证-输入4个字符后验证
我当前正在尝试验证格式中的字符串 1个字符(A-Z)和3个字符(A-Z 0-9)(字母字符后跟3个字母数字) 这是我的自定义vtype:Regex Extjs 5验证-输入4个字符后验证,regex,validation,extjs,Regex,Validation,Extjs,我当前正在尝试验证格式中的字符串 1个字符(A-Z)和3个字符(A-Z 0-9)(字母字符后跟3个字母数字) 这是我的自定义vtype: customalphanumeric: function( return (/^([A-Za-z]){1}([A-Za-z0-9]){3}$/).test(v); }, customalphanumericText: 'Please enter 1 Alpha character followed by 3 alphanumeric character
customalphanumeric: function(
return (/^([A-Za-z]){1}([A-Za-z0-9]){3}$/).test(v);
},
customalphanumericText: 'Please enter 1 Alpha character followed by 3 alphanumeric characters',
customalphanumericMask: /([A-Za-z0-9])/
当我在框中输入任何字母时,文本显示“请输入1个字母字符,后跟3个字母数字字符”
如何让它等待输入4个字符
我试过这个:
if (v.length == 4) {
return (/^([A-Za-z]){1}([A-Za-z0-9]){3}$/).test(v);
}
else {
return true;
}
但这允许使用少于4个字符的短语。任何帮助都将不胜感激。你几乎得到了
if (v.length == 4) {
return (/^([A-Za-z]){1}([A-Za-z0-9]){3}$/).test(v);
}
else {
//return true;
return false;
}
您也可以更改else语句中返回的文本,我认为这不会按您希望的方式工作,因为如果错误在达到4个字符之前不显示,则表示该表单在此之前有效,使用您表单的任何人都可以提交它 您可以添加一个minLength:4属性,并正确显示所有验证:
Ext.application({
name : 'MyApp',
launch : function() {
var customRegEx = /^([A-Z]){1}([A-Z0-9]){3}$/i;
Ext.apply(Ext.form.field.VTypes, {
customtest: function(val, field) {
return customRegEx.test(val);
},
customtestText: 'Please enter 1 Alpha character followed by 3 alphanumeric characters',
customtestMask: /([A-Z0-9])/
});
Ext.create('Ext.panel.Panel',{
title: 'Test Panel',
renderTo: Ext.getBody(),
items: [{
xtype: 'textfield',
vtype: 'customtest',
minLength: 4
}]
})
}
});
我明白你的意思。这是一个更好的解决方案。谢谢