Regex не работает должным образом - PullRequest
1 голос
/ 14 февраля 2011

Я пытаюсь реализовать регулярное выражение, чтобы разрешить только одну или две цифры после дефиса '-', и оно не работает должным образом.После '-'

допускается столько цифр, сколько типов пользователей. Пожалуйста, предложите мой 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'

 });

. Это работает только в том случае, если разрешены цифры и -.Но он также должен разрешать только от 1 до 2 цифр после - не более.

Что-то не так в моем регулярном выражении?hyphenRe: /^\d+-\d{1,2}$/,

Ответы [ 2 ]

1 голос
/ 14 февраля 2011

Возможно, он ожидает, что входные данные будут точно соответствовать шаблону Regex, который вы указали.Этот сайт имеет пример почтового индекса , который также ограничивает числа после дефиса.

Он использует оператор Else, чтобы позволить функции формы принимать один или другой шаблонный параметр.

Регулярное выражение, используемое для формата 5-4: "^ \ d {5} - \ d {4} $"

Надеюсь, это немного поможет.

0 голосов
/ 14 февраля 2011

Ext.form.VTypes.hyphenRe.test(v) должен выполнить проверку и не позволить пользователю ввести два - на первом месте.

Что вы предлагаете, так это проверить, есть ли в поле -, что является совершенно другой игрой с мячом.

hyphenRe почему-то не вызывается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...