0

我想为城市名称创建一个验证,所以我从谷歌选择了一个正则表达式代码,它允许用户只接受字母和一些字符,并确保城市名称它应该只接受“字母”和“空格”两个字。

这是我最初找到的代码

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

我删除了我认为不应该接受的任何内容,例如:"/-\`.\"\'\"但我不确定 "" 是什么意思?我搜索了 Unicode 并找到了 "u024F" = Ɏ,所以删除了也是,但还不知道“ u0080 ”。

我还注意到在许多正则表达式中,这两个 unicode 都作为输入选项给出。

有人可以指导这意味着什么以及为什么几乎所有正则表达式代码都使用这些?

4

1 回答 1

3

\u0080-\u024F[...](称为“字符类”)表示从\u0080\u024F(包括)的所有字符。(“字符类”的另一个例子:通过包容的[a-f]意思。)该形式是使用代码的 Unicode 转义。您可以在Unicode 站点上查找字符是什么,该站点为每个字符(例如,和)都有一个页面。af\uXXXXXXXXU+0080U+024F

于 2013-10-23T21:02:27.470 回答