Проверьте, были ли записаны определенные символы, и вызовите ошибку - PullRequest
0 голосов
/ 12 июля 2010

Я пытаюсь выяснить через JS, были ли введены недопустимые символы в текстовой области

Я хочу разрешить только эти символы:

A-Za-z0-9 !#%&*()+-=,.?"';:/

Если были введены недопустимые символы, я хочуполучить неверные символы и вызвать ошибку, например:

Неверный текст, записаны неверные символы:

1) _
2) @
etc...

Спасибо!

1 Ответ

2 голосов
/ 12 июля 2010

Я не уверен, когда вы хотите сделать эту проверку, но вот функция для проверки.Это предупредит первый недопустимый символ.

function checkValue(input) {
    var result = /[^a-z0-9 !#%&*()+\-=,.?"';:\/]/i.exec(input.value);
    if (result) {
        alert("Character '" + result[0] + "' is not allowed");
        return false;
    } else {
        return true;
    }
}

Если вы хотите, чтобы все совпавшие недопустимые символы, то вы можете использовать следующее:

function checkValue(input) {
    var isValid = true, result, matchedChars = [];
    while( (result = /[^a-z0-9 !#%&*()+\-=,.?"';:\/]/ig.exec(input.value)) ) {
        matchedChars.push("'" + result[0] + "'");
        isValid = false;
    }
    if (!isValid) {
        alert("Characters " + matchedChars.join(", ") + " are not allowed");
    }
    return isValid;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...