Как проверить строку на запрещённые символы в js?

Как проверить строку на запрещённые символы в javascript? То есть например, я хочу, чтобы пользователь вводил только английские буквы, русские буквы, цифры, возможно символы наподобие _ и всё. На остальное должна выводиться ошибка. Как реализовать это в js? К сожалению, не дружу с регулярными выражениями. (Может быть посоветуете что-то по регулярным в js, чтобы нетрудно было воспринимать)

Моя попытка:

function isValid(username) {
    if (/[^a-zA-Z0-9]/.test(username))
        return false;
    else
        return true;
}

P.S. Может быть кто-то подскажет, какие символы обычно используют в логинах, а какие не используют? Или это всегда на усмотрение разработчика?


Ответы (1 шт):

Автор решения: entithat

^ - значит начало строки, $ - конец строки, [A-Za-z0-9]+ - разраешить больше одного (либо один) символа буквы либо цифры.

function isValid(username) {
   return /^[a-zA-Z0-9]+$/.test(username)
}

console.log(isValid('Adam'));
console.log(isValid('Adam$%%@#@D)*FU(Q'));

→ Ссылка