我正在尝试使用RegEx来确保用户不会在其创建的文件夹名称中放入任何非法的Windows字符(是的,我在创建文件夹之前检查服务器端),然后我会喜欢使用JQuery的Validate插件(http://docs.jquery.com/Plugins/Validation/)来做到这一点,但是所有的RegEx示例似乎都指向我确保用户输入MATCHES,而不是不匹配。任何人都可以指出我正确的方向,我做错了什么?谢谢!
这是我的JQuery代码(具有讽刺意味的是,它反向运行 - 如果我输入其中一个非法字符,那很好,但如果我把它拿出来,就会触发验证):
$(document).ready(function() {
$.validator.addMethod(
"regex",
function(value, element) {
return this.optional(element) || /:|\?|\\|\*|\"|<|>|\||%/g.test(value);
},
"Asserter Names Cannot Contain Certain Characters.");
$('#matterDetail').validate({
debug: true,
rules: {
"Asserter": {
required: true,
regex: true,
minlength: 2
}
}
});
});
我从这里得到了正则表达式规则:http://RegExr.com?2rj55
答案 0 :(得分:1)
你可以使用!()来反转你的规则......
return this.optional(element) || !(/:|\?|\\|\*|\"|<|>|\||%/g.test(value));