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

Javascript 在Ext Js VType中使用正则表达式,javascript,regex,validation,extjs,Javascript,Regex,Validation,Extjs,我有一个正则表达式用于检查数字并允许“-”(连字符)文本字段 var regex = /^\d+-\d{1,2}$/; //Checks "digits-digit(s,1 or 2)" 对于常规HTML文本字段,这可以正常工作。但是如果我想要一个ExtJSTextField,我必须执行以下代码 Ext js TextField并调用VType var <portlet:namespace/>issueNoField = new Ext.form.TextField({

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

var regex = /^\d+-\d{1,2}$/;  //Checks "digits-digit(s,1 or 2)"
对于常规HTML文本字段,这可以正常工作。但是如果我想要一个ExtJSTextField,我必须执行以下代码

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 '-'
var issueNoField=new Ext.form.TextField({
fieldLabel:“发行号”,
宽度:120,
值字段:'IssNo',
vtype:'连字符'
});
Ext.apply(Ext.form.VTypes{
hyphenText:“仅限数字和连字符。”,
连字符掩码:/[0-9-]/,,
连字符://^\d+-\d{1,2}$/,//这是检查
hyphen:function(x){返回this.hyphenRe.test(x);}//我是否缺少一个numerichmask:here??
});     
是否为连字符:/^\d+-\d{1,2}$/,是否正确
是连字符:/^\d+-[\d{1,2}]$/,是正确的,因为我希望在“-”之后有1或2个数字

请帮我更改VType以使其正常工作,并进行正则表达式检查。

对我来说很好。验证本身是否不起作用(当您在字段中键入无效内容时,该字段没有下划线),或者您是否缺少错误工具提示?对于后一种情况,请在代码中添加以下内容:

Ext.QuickTips.init();

否则工具提示不会出现。

对我来说很好。验证本身是否不起作用(当您在字段中键入无效内容时,该字段没有下划线),或者您是否缺少错误工具提示?对于后一种情况,请在代码中添加以下内容:

Ext.QuickTips.init();

否则工具提示将不会出现。

我编辑了上面的脚本,请建议。我在脚本上面使用了QuickTips。我测试了你的代码,效果很好。除了我遗漏的
。该字段很好地验证了您的正则表达式。但是我看到现在您添加了一个不正确的正则表达式
/^\d+-[\d{1,2}]$/
。您在编写正则表达式方面有问题吗?在这种情况下,请更详细地解释你真正想要的正则表达式是什么。我在脚本上面使用了QuickTips。我测试了你的代码,效果很好。除了我遗漏的
。该字段很好地验证了您的正则表达式。但是我看到现在您添加了一个不正确的正则表达式
/^\d+-[\d{1,2}]$/
。您在编写正则表达式方面有问题吗?在这种情况下,请更详细地解释您真正希望正则表达式的马赫数。