я хочу получить два сообщения, когда пользователь вводит специальный символ, например m@rk @l@n с помощью charCodeAt();
мой код дает повторяющийся ответ, если я ввожу обычный текст или если я ввожу специальный символ, это дает моему условию истинность
var username = prompt("Enter Username");
var boolean = true;
for(var i=0;i<username.length;i++){
if (username[i].charCodeAt()==33 || username[i].charCodeAt()==44 || username[i].charCodeAt()==46 || username[i].charCodeAt()==64){
document.write("Wrong input: "+username);
boolean=true;
break;
}
else{
document.write("correct input "+username);
}
}
Я бы не стал использовать boolean в качестве имени переменной, так как это зарезервированное в будущем ключевое слово из старой спецификации ECMAScript: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…



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


Переместите document.write за пределы цикла:
var username = prompt("Enter Username");
var valid = true;
for(var i=0;i<username.length;i++){
if (username[i].charCodeAt()==33 || username[i].charCodeAt()==44 || username[i].charCodeAt()==46 || username[i].charCodeAt()==64){
valid=false;
break;
}
}
document.write((valid?"Correct input ":"Wrong input ")+username);не работает должным образом .. когда я ввожу специальный символ, он покажет мне сообщение «Правильный ввод» ... но этот входной контейнер spec char: |
@NoobDev Какой специальный символ? Я пробовал с @ (как в вашем примере), и он работает.
Возможный дубликат Как узнать, содержит ли строка определенный символ в JavaScript?