Validar caracteres validos JS

Feras alguém tem um exemplo de uma função JavaScript para validar todos os caracteres validos

numericos, alfanumericos e caracteres especiais ?

e que tenho uma aplicação que se o usuário copiar algo como


?Preencher o campo 1;
?Preencher o campo 2;
?Selecionar o campo 3;

esse “?” antes do Preencher o campo e uma bolinha que tem na pagina do site ai o usuário faz um copy page e cola no campo TEXTAREA

quando ele vai cadastrar a informação no banco fica cadastrado com esse “?” preciso de fazer uma validação para evitar esse problema

segue um exemplo que fiz de validação para numeros e letras

alguém tem ideia de um expressão regular para os caracteres especiais para completar minha função ?

<script type='text/javascript'>
function isAlphabet(elem){
	var alphaExp = /^[a-zA-Z-0-9]+$/;
	
	if(elem.value.match(alphaExp)){
		return true;
	}else{
		alert("Permitido Somente Letras e Numero.");
		elem.focus();
		return false;
	}
}
</script>
<form>
Permitido Somente Letras e Numero: <input type='text' id='letters'/>
<input type='button' 
	onclick="isAlphabet(document.getElementById('letters'), 'Letters Only Please')"
	value='Check Field' />
</form>

amigo estou com o mesmo problema tenho um campo onde deve-se aceitar letras, numeros e caracter especiais tenho uma validação de uma função com letras e numeros

mais quando tento adicionar mais essa validação de caracteres especias não funciona a função.

Tenho uma função para bloquear… vocês podem alterá-la.

function bloqueiaEspeciais(e) {
	//Bloqueia os caracteres acentuados e especiais
	if (!e) e = event;
	if (e.keyCode) {
		//IE
		tecla = e.keyCode;
	} else {
		//Firefox
		tecla = e.which;
	}
	if ((tecla >= 65 && tecla <= 90) || 
		(tecla >= 97 && tecla <= 122) ||
		(tecla >= 48 && tecla <= 57) ||
		(tecla == 46)) {
		//Não bloqueia
    } else {
		//Bloqueia
       	if (e.keyCode) {
          	e.returnValue = false;
        } else {
          	e.preventDefault();
        }
   	}
}