我想为City Names创建一个验证,所以我选择了Google的Regex代码,允许用户只接受字母和一些字符,并确保城市名称只接受“Letters”和“space”b / w两个字。
这是我最初找到的代码
jQuery.validator.addMethod("cityvalidation", function (value, element) {
return this.optional(element) || /^[a-zA-Z\u0080-\u024F\s\/\-\)\(\`\.\"\']+$/i.test(jQuery.trim(value));
}, "You Have Typed Unallowed Charactors");
这是我为城市名称验证修改的代码:
jQuery.validator.addMethod("cityvalidation", function (value, element) {
return this.optional(element) || /^[a-zA-Z\u0080-\s\)\(]+$/i.test(jQuery.trim(value));
}, "Please provide a valid city name!");
我删除了我认为不应该接受的内容,如:“/ - \`。\”\'\“但我不确定”“是什么意思?我搜索了Unicodes并找到了关于“u024F”= Ɏ,所以也删除了但仍然不知道“ u0080 ”。
此外,我注意到在许多正则表达式中,这些unicode都作为输入选项提供。
有人可以指导一下这意味着什么以及为什么几乎所有的Regex代码都使用它们?
答案 0 :(得分:3)
\u0080-\u024F
内的[...]
(称为“字符类”)表示从\u0080
到\u024F
(包括)的所有字符。 (“字符类”的另一个示例:[a-f]
表示a
到f
包含{。}}。\uXXXX
形式是使用代码XXXX
的Unicode转义。您可以在Unicode site上查找字符的内容,其中每个字符都有一个页面(例如U+0080
和U+024F
)。