在JQuery Validate插件中使用RegEx以确保文件夹名称中没有非法字符

时间:2011-05-26 17:21:38

标签: jquery regex jquery-validate

我正在尝试使用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

1 个答案:

答案 0 :(得分:1)

你可以使用!()来反转你的规则......

return this.optional(element) || !(/:|\?|\\|\*|\"|<|>|\||%/g.test(value));