代码之家  ›  专栏  ›  技术社区  ›  Ricky

jQuery验证regex:textarea包含短语

  •  1
  • Ricky  · 技术社区  · 14 年前

    我试图检查一个文本区域以确保它包含文本短语。

    $.validator.addMethod(
        "regex",
        function(value, element, regexp) {
            var check = false;
            var re = new RegExp(regexp);
            return this.optional(element) || re.test(value);
        },
        "Please include your keyword(s)."
    );
    
    $("#article_text").rules("add", { regex: "/test phrase/i" });
    

    有什么想法吗?理想情况下,我希望它检查多个短语,如果其中任何一个不包含在文本区域中,则显示错误。

    1 回复  |  直到 14 年前
        1
  •  2
  •   Nick Craver    14 年前

    使用时 RegExp() 你应该把 /

    $("#article_text").rules("add", { regex: "test phrase" });
    

    You can test it here . 但是,由于您需要标志,一个更好的方法是直接使用它,而不是从字符串创建,例如:

    $.validator.addMethod("regex", function(value, element, regexp) {
      return this.optional(element) || regexp.test(value);
    }, "Please include your keyword(s).");
    

    你可以这样称呼它:

    $("#article_text").rules("add", { regex: /test phrase/i });
    

    You can test that version out here