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

问题描述

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

解决方法

您可以使用!()来逆转规则...
return this.optional(element) || !(/:|\\?|\\\\|\\*|\\\"|<|>|\\||%/g.test(value));
    

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...