Регулярное выражение проверки jQuery: textarea содержит фразы - PullRequest
1 голос
/ 27 октября 2010

Я пытаюсь проверить текстовую область, чтобы убедиться, что она содержит текстовые фразы.

Это то, что у меня есть, но оно не работает:

$.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 Ответ

2 голосов
/ 27 октября 2010

При использовании RegExp() вы должны не указывать / и флаги, это должно быть просто:

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

Вы можете проверить это здесь . Но так как вам нужны флаги, лучше просто использовать их напрямую, а не создавать из строки, например:

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

Вы можете проверить эту версию здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...