使用jQuery Validate避免使用大写输入

时间:2010-09-06 20:49:58

标签: javascript jquery regex validation jquery-validate

我正在制作一个分类广告网站,用户通过表单(如Craigslist)提交广告。许多用户在大写中写下他们广告的标题或描述以获得更多关注,但我不想影响网站的整体外观。

我想停止这一点,但仍然允许连续使用少于三个大写字母的首字母缩略词(例如允许'位于美国'而不是'看起来,很棒的提议')

我是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来达到预期的规则呢?

如果有人更了解如何做到这一点,也欢迎!

感谢!!!

See/Edit Example Code

1 个答案:

答案 0 :(得分:2)

你可以在它前面添加一个否定(!),如下所示:

$.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!");

You can give it a try here