Sí, se puede hacer usando el API de Validaciones de HTML5 (Constraint).
Código Javascript
:
Ver originalvar elemento = document.getElementById('texto'); // Obtener el input
elemento.addEventListener('invalid', function(){
if(this.validity.patternMismatch) // Si el patrón no coincide
this.setCustomValidity('No utilice guiones'); // Dejar mensaje de error
}, false);
elemento.addEventListener('change', function(){
this.setCustomValidity(''); // Resetear el mensaje de error previo cuando el valor cambia
}, false);
DEMO