在Ext Js VType中使用正则表达式

时间:2011-02-11 07:17:01

标签: javascript regex validation extjs

我有一个正则表达式用于检查数字并允许“ - ”(连字符)文本字段。

var regex = /^\d+-\d{1,2}$/;  //Checks "digits-digit(s,1 or 2)"

这适用于常规HTML文本字段。但是,如果我想要一个Ext Js TextField,我必须执行以下代码

Ext js TextField并调用VType

var <portlet:namespace/>issueNoField = new Ext.form.TextField({
     fieldLabel: 'Issue No',
     width: 120,
     valueField:'IssNo',
     vtype: 'hyphen'
 });

Ext.apply(Ext.form.VTypes, {
                hyphenText : "Only numbers and hyphen.",
                hyphenMask:/[0-9-]/,
                hyphenRe: /^\d+-\d{1,2}$/,  //This is the check
                hyphen:function(x){return this.hyphenRe.test(x);}   //Am i missing a numericHyMask: here ??
            });     

      Is hyphenRe: /^\d+-\d{1,2}$/, is correct or
      is hyphenRe: /^\d+-[\d{1,2}]$/, is correct as I want 1 or 2 digits after '-'

请帮我改变我的VType以正常工作并进行正则表达式检查。

1 个答案:

答案 0 :(得分:1)

对我来说很好。验证本身是否正常工作(当您在其中键入无效内容时字段没有加下划线)或者您是否错过了错误工具提示?在后一种情况下,在代码中添加一些内容:

Ext.QuickTips.init();

否则工具提示不会出现。