как проверить, не содержит ли строка javascript таких символов, как (#, $, /, @), потому что это имя пользователя. Я пробовал этот код:
for(i=0;i<usrlength;i++) {
if ($username.charAt(i)=='#'||$username.charAt(i)=='$') {
}
}
но это слишком долго



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Поместите все специальные символы, которые вы хотите исключить, в набор символов внутри регулярного выражения:
const verify = username => !/[#\$/@]/.test(username);
console.info(verify('foo'));
console.info(verify('foo#'));
console.info(verify('foo!'));
console.info(verify('f$oo'));Вы можете использовать регулярное выражение для проверки строки с желаемым шаблоном:
var pattern = /[$#@/]+/;
var username = "prachi.user";
var hasInvalidChar = pattern.test(username);
if (hasInvalidChar) {
alert("Case 1 - Invalid");
} else {
alert("Case 1 - Valid");
}
var pattern = /[$#@/]+/;
var username = "prachi.user#$@#/";
var hasInvalidChar = pattern.test(username);
if (hasInvalidChar) {
alert("Case 2 - Invalid");
} else {
alert("Case 2 - Valid");
}
Возможный дубликат Как проверить, содержит ли строка подстроку в JavaScript?