正则表达式无法正常工作

时间:2011-02-14 07:24:00

标签: javascript regex extjs expression textfield

我正在尝试实现一个正则表达式,只允许连字符'-'后的一个或两个数字,但它无法正常工作。它允许在'-'

之后使用与用户类型一样多的数字

请建议我ExtJS

Ext.apply(Ext.form.VTypes, {
  hyphenText: "Number and hyphen",
  hyphenMask: /[\d\-]/,
  hyphenRe: /^\d+-\d{1,2}$/,
  hyphen: function(v){
    return Ext.form.VTypes.hyphenRe.test(v);
  }
});

    //Input Field for Issue no
 var <portlet:namespace/>issueNoField = new Ext.form.TextField({
 fieldLabel: 'Issue No',
   width: 120,
   valueField:'IssNo',
   vtype: 'hyphen'

 });

这仅适用于允许数字和-的限制。但它最多只允许12-个数字。

我的正则表达式有问题吗? hyphenRe: /^\d+-\d{1,2}$/,

2 个答案:

答案 0 :(得分:1)

可能是它希望输入与您指定的正则表达式完全匹配。此网站has a zip code example也限制了连字符后面的数字。

它使用Else语句让表单函数接受一个模式或另一个模式选项。

用于5-4格式的正则表达式是:“^ \ d {5} - \ d {4} $”

希望这有点帮助。

答案 1 :(得分:0)

Ext.form.VTypes.hyphenRe.test(v)应该进行检查,不允许用户在第一个位置输入两个-

你的建议是检查场上是否有-完全不同的球赛。

hyphenRe不知何故被调用。