Проверка текстовой области onkeyup не работает

Я пытаюсь проверить textarea onkeyup (в режиме реального времени). Цель состоит в том, чтобы разрешить только слова, начинающиеся с этого символа: «ch или Ch». Я собрал некоторый код, но он не работает, и я не знаю, что не так...

<form method="post">
    <textarea name="test" pattern="ch+" id="test" onkeyup="validateTextarea"></textarea>
</form>

function validateTextarea() {
        var errorMsg = "Please match the format requested.";
        var textarea = this;
        var pattern = new RegExp('^' + $(textarea).attr('pattern') + '$');
        // check each line of text
        $.each($(this).val().split("\n"), function () {
            // check if the line matches the pattern
            var hasError = !this.match(pattern);
            if (typeof textarea.setCustomValidity === 'function') {
                textarea.setCustomValidity(hasError ? errorMsg : '');
            } else {
                $(textarea).toggleClass('error', !!hasError);
                $(textarea).toggleClass('ok', !hasError);
                if (hasError) {
                    $(textarea).attr('title', errorMsg);
                } else {
                    $(textarea).removeAttr('title');
                }
            }
            return !hasError;
        });
    }

Вот скрипт: https://jsfiddle.net/jbtRU/93/

То, что я хочу сделать, это отключить все слова в текстовом поле и разрешить только слова, начинающиеся с «Ch» или «ch»...


person user7176800    schedule 01.12.2016    source источник
comment
Измените ` onkeyup=validateTextarea` на ` onkeyup=validateTextarea()`, а затем выполните некоторые основные действия по устранению неполадок.   -  person PeterKA    schedule 01.12.2016
comment
И знаете ли вы, что на самом деле проверяет ваше выражение req? regexper.com/#%5Ech%2B%24   -  person epascarello    schedule 01.12.2016
comment
Извините, но я действительно не знаю, что делаю... Я склеил код как гнездо, и теперь я застрял. Я действительно не знаю, как кодировать, если честно. Я учусь, пробуя разные вещи, и если они работают, я пытаюсь понять, как и почему, а если нет, то я просто застрял. А теперь я просто застрял. Спасибо вам обоим за попытку помочь мне, но я не знаю, как это исправить...   -  person user7176800    schedule 01.12.2016


Ответы (1)