Egy szöveges mezővel reguláris kifejezéseket kértem be. Szükségem volt arra, hogy valamilyen szinten ellenőrize a rendszer, hogy az valóban reguláris kifejezés-e vagy sem. Legegyszerűbbnek a brute force megoldás tűnt, ha létrehozhatok vele egy RegExp változót, akkor jó, máskülönben nem:
regexp: function (value) {
var result = true;
try {
new RegExp(value);
} catch (e) {
this.regexpText = e.name + ': ' + e.message;
result = false;
}
return result;
}
});
Így lehet meghívni:
xtype: 'textfield',
fieldLabel: 'regular expression',
name: 'mask',
vtype: 'regexp'
}
Arra persze vigyázni kell, hogy nem minden hibás, ami elsőre annak néz ki:
re.test('0{7'); // true