jQuery验证正则表达式:textarea包含短语

时间:2010-10-27 03:38:52

标签: jquery regex validation

我正在尝试检查textarea以确保其中包含文字短语。

这是我到目前为止所做的,但它不起作用:

$.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" });

有什么想法吗?理想情况下,我希望检查多个短语并显示错误,如果其中任何一个未包含在textarea中。

1 个答案:

答案 0 :(得分:2)

使用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