0

我正在做验证,它接受一些特殊字符、破折号、引号、撇号等。

这是代码:

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 复制引号或撇号,然后验证会给出其他错误“您输入了不允许的字符”,因为它不接受来自 MS Word 的引号和撇号。

请建议是否有任何用于 MS Word 引号和撇号的 unicode 或字符,也可以在验证正则表达式中添加。

4

2 回答 2

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");

到目前为止它没有给出任何问题,我也在多个浏览器中进行了测试,它的工作非常好!

希望这对每个人都有效!!!

于 2013-10-25T19:28:23.630 回答
0

MS Word 使用不同的编码,因此您需要为它们使用正则表达式。

单引号和撇号

\u2018\u2019\u201A

双引号

\u201C\u201D\u201E

如何从这里使用它们:https ://prcode.blog/2015/10/17/ms-word-special-characters-regex/

于 2015-10-17T08:19:28.287 回答