Hola a todos:
Estoy validando un formulario con javascript antes de ser enviado al servidor.
He creado una sección de usuarios y el usuario tendrá que introducir un nombre de usuario.
Este campo de nombre de usuario lo voy a validar utilizando un patron creado con expresiones regulares.
Quiero que en el nombre de usuario puedan aparecer letras y números y también guiones bajos, NADA MÁS. 
No permitirle que meta palabras acentuadas, ni guiones normales, ni ningún otro caracter especial (tampoco la ñ).
Os pongo la expresión regular que estoy utilizando y que claro está no me funciona porque me deja meter acentos y otro tipo de caracteres ahi va:
 
Esta es la expresió regular: \D[A-Za-zÁÉÍÓÚáéíóú]{3}
 
Y éste es el código javascript:
 function comprobar_usuario()
{
	usuario=document.form_reg.usuario.value;
	patron=/\D[A-Za-zÁÉÍÓÚáéíóú]{3}/;
	if(usuario!="")
	{
		if(usuario.match(patron))
		{
			alert("Usuario bien escritos");
			return true;
		}
		else
		{
			alert("Usuario mal puestos");
			return false;
		}
	}
	else
	{
		alert("No dejes vacíio el nombre de usuario");
		return false;
	}
 
}
 
Espero vuestra ayuda muchas gracias 
   
 

 
 
