2014-09-30 4 views
0

Я пытаюсь создать правило проверки jquery, которое ищет определенный шаблон значения. Однако у меня возникают проблемы, когда я получаю ложные срабатывания.Создание правила проверки правильности jquery с регулярным выражением

вот мое правило

Query.validator.addMethod("eidFormat", function (value, element) { 
    var a1formatChk = /[^b-z]\d{5}|\d{6}$/.test(value); 
    return e1formatChk; 
}, "Your oder code needs to be your employee id. Please try again."); 

значение, которое я ищу должен быть и 5 или 6 цифр. Также я добавляю правило о смене поля. либо им нужно добавить идентификатор своего сотрудника, либо оставить поле пустым, и я добавлю сгенерированный системой идентификатор на задней панели.

вот проблема, которую я имею

, если я введу b1234 он терпит неудачу и дает мне сообщение , но если я ставлю в мусоре, как fgkhjkjfhg54645 тест возвращается истинным.

Я думаю, что это скорее проблема с регрессом, но я не уверен.

любая помощь будет оценена

ответ

3

Обратите внимание, что [^b-z] будет соответствовать любому символу (включая не-слово характер), но не b к z. Таким образом изменить регулярное выражение,

^a\d{5,6}$ 

Объяснение:

  • ^ Утверждает, что мы находимся в самом начале.
  • a Соответствует литералу a.
  • \d{5,6} разрешил бы 5 или 6 цифр.
  • $ Утверждается, что мы находимся в конце.
+0

спасибо, что сработал. Я использую w3school для написания шаблонов регулярных выражений. есть хороший блог или сайт, который подробно рассказывает? –

+0

http://www.regular-expressions.info/ - лучший сайт для изучения регулярных выражений. –