Verificar se em uma string tem caracteres especial

Boa tarde, quero verificar se em determinada string possui algum caracter especial EX: @#$…etc, se tiver exibir uma mensagem tipo “Caracter inválido”

Obs: não e de um campo Text e sim de uma string passada pelo sistema!!

Qlq ajuda será bem vinda!!

Luis

String text = "AbcD╣e+_)(001";
        
for (char c : text.toCharArray()) {
	if (Character.isLetter(c)) {
		System.out.println(c + ": É uma letra");
	} else if (Character.isDigit(c)) {
		System.out.println(c + ": É um número");
	} else {
		System.out.println(c + ": É um caractere especial");
	}
}
2 curtidas

Boa tarde,

está ocorrendo o seguinte erro:
Uncaught SyntaxError: Unexpected identifier

nessa linha text.toCharArray();

Luis

Eita rapaiz, agora que vi que é em javascript. O código que fiz é em Java. =)

Falha minha!

Esse agora é em javascript (usando regex):

let text = 'AbcD╣e+_)(001';
		
for (let c of text) {
	if (isLetter(c)) {
		console.log(c + ": É uma letra");
	} else if (isDigit(c)) {
		console.log(c + ": É um número");
	} else {
		console.log(c + ": É um caractere especial");
	}
}

function isLetter(str) {
	return str.length === 1 && str.match(/[a-zA-Z]/i);
}

function isDigit(str) {
	return str.length === 1 && str.match(/[0-9]/i);
}

Valeu, Muito obrigado!!

Deu certo!!!