我正在进行验证,接受一些特殊字符,破折号,引号,撇号等。
这是代码:
jQuery.validator.addMethod("cityvalidation", function (value, element) {
return this.optional(element) || /^[a-zA-Z\u0080-\u024F\s\/\-\)\(\`\.\"\'\U+2019]+$/i.test(jQuery.trim(value));
}, "You Have Typed Unallowed Charactors");
它正常工作,除非有人从MS Word复制引号或撇号,然后验证给出了其他错误“你有类型的不允许的Charactors”,因为它不接受来自MS Word的引号和撇号。
请建议MS Word引号和撇号是否有任何unicode或字符,也可以在Validation Regex中添加。
答案 0 :(得分:0)
得到了解决方案,经过大量的搜索和重编码解决方案,我很难理解,我尝试了一个愚蠢的解决方案,我只是在MS Word中键入引号和撇号,然后从Word复制并添加到我的RegEx代码中。以下是最新的:
jQuery.validator.addMethod("cityvalidation", function (value, element) {
//return this.optional(element) || /^[a-zA-Z\s\)\(]+$/i.test(jQuery.trim(value));
return this.optional(element) || /^[a-zA-Z\u0080-\u024F\s\/\-\)\(\`\.\"\'\‘\’\”\“]+$/i.test(jQuery.trim(value));
}, "You Have Typed Unallowed Charactors");
截至目前它还没有给出任何问题,我在多个浏览器中进行了测试,其工作效果很好!
希望这适用于所有人!!!
答案 1 :(得分:0)
MS Word使用不同的编码,因此您需要使用正则表达式。
单引号和撇号
\u2018\u2019\u201A
双引号
\u201C\u201D\u201E
如何从这里使用它们:https://prcode.blog/2015/10/17/ms-word-special-characters-regex/