我正在制作一个分类广告网站,用户通过表单(如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来达到预期的规则呢?
如果有人更了解如何做到这一点,也欢迎!
感谢!!!
答案 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!");