Избегайте ввода заглавных букв с помощью jQuery Validate - PullRequest
1 голос
/ 07 сентября 2010

Я создаю сайт объявлений с объявлениями, где пользователи отправляют объявления через форму (например, Craigslist). Многие пользователи пишут заголовок или описание своих объявлений в UPPERCASE, чтобы привлечь больше внимания, но я не хочу влиять на общий вид сайта.

Я бы хотел прекратить это, но все же разрешить использовать сокращения, состоящие из менее чем трех заглавных букв подряд (например, разрешить «Находится в США», но не «СМОТРЕТЬ, БОЛЬШОЕ ПРЕДЛОЖЕНИЕ»)

Я - новичок в Validate и RegEx (всего один уик-энд), поэтому мне нужны ваши эксперты по помощи.

Я использую этот метод:

$.validator.addMethod("noCaps", function(value, element) {
   return this.optional(element) || /[A-Z]{4}/.test(value); 
}, "You are not permitted to input more than three uppercase letters in a row!");

Но я получаю совершенно противоположный результат. Как я могу отменить этот RegEx для достижения желаемого правила?

Если у кого-то есть лучшее представление о том, как это сделать, также приветствуется!

Спасибо !!!

См. / Изменить код примера

1 Ответ

2 голосов
/ 07 сентября 2010

Вы можете просто добавить отрицание (!) перед ним, например:

$.validator.addMethod("noCaps", function(value, element) {
  return this.optional(element) || !/[A-Z]{4}/.test(value); 
}, "You are not permitted to input more than three uppercase letters in a row!");

Вы можете попробовать здесь .

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