【问题标题】:jQuery Validate - regex for letters with accented letters (Czech)jQuery Validate - 带有重音字母的正则表达式(捷克语)
【发布时间】:2014-04-08 19:21:02
【问题描述】:

我创建了一个自定义的 jQuery Validate 规则:

jQuery.validator.addMethod(
        "regex",
        function(value, element, regexp) {
            var re = new RegExp(regexp);
            return this.optional(element) || re.test(value);
        },
        "Please check your input."
    );

现在需要正则表达式来匹配字母(任何语言,尤其是捷克语)

我试过了

regex: "/^\pL++$/uD"

regex: "^\w*(\s\w*)?$"

这些都不起作用。什么是正确的正则表达式?

【问题讨论】:

    标签: jquery regex validation jquery-validate


    【解决方案1】:

    那是因为 JS 本身并不支持 unicode 类别。您可以查看here 了解更多信息。

    如果您不需要知道 unicode 字符是否是“字母”,您也可以指定具有不同范围的 unicode 字符类。例如:

    ^[\u0000-\u024F]+$
    

    将确保字符串仅包含控制字符和所有形式的拉丁字符,包括所有扩展名。更多字符和范围可以参考here

    【讨论】:

    • 您提供的示例似乎也对数字返回 true...?
    • 这只是一个例子。通过引用表格来调整字符类范围以满足您的需求。
    猜你喜欢
    • 1970-01-01
    • 2011-09-23
    • 2021-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-11
    相关资源
    最近更新 更多