Foros del Web » Programando para Internet » Javascript »

validar nombre de usuario con expresiones regulares

Estas en el tema de validar nombre de usuario con expresiones regulares en el foro de Javascript en Foros del Web. 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á ...
  #1 (permalink)  
Antiguo 08/02/2008, 14:00
 
Fecha de Ingreso: junio-2006
Mensajes: 125
Antigüedad: 18 años
Puntos: 1
validar nombre de usuario con expresiones regulares

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
  #2 (permalink)  
Antiguo 08/02/2008, 14:41
 
Fecha de Ingreso: junio-2006
Mensajes: 125
Antigüedad: 18 años
Puntos: 1
Re: validar nombre de usuario con expresiones regulares

Bueno algo es algo acabo de encontrar esta expresión regular y va bastante bien:

/^[a-z0-9_\\_\ü]+$/;

Pero le veo dos cosas en su contra:
1º Me permite meter como primer caracter un guion bajo (y yo no quiero que eso suceda)
2º Me permite meter el carater \ y no sé como decirle que no lo permita.

Sé que esta expresión me permite sólo minusculas, todos los número y luego los caracteres que yo quiera poner precedidos de la barra \ (yo he permitido la ü y el guión bajo; además no me permite poner espacios.
Así que creo que me será útil, cómo lo veis? ¿Alguin sabe como solucionar esos dos problemillas?
Gracias.
Nos vemos!
  #3 (permalink)  
Antiguo 08/02/2008, 16:19
Avatar de aloqui  
Fecha de Ingreso: diciembre-2007
Mensajes: 973
Antigüedad: 16 años, 5 meses
Puntos: 24
Re: validar nombre de usuario con expresiones regulares

Puedes probar con esta:

/^[a-z0-9ü][a-z0-9ü_]{3,9}$/;

Permite solo letras minusculas, digitos, la u con diéresis y el subrayado (excepto en la primera posición). Con un minimo de cuatro caracteres (1+3), y un máximo de 10 (1+9).

Pero no entiendo por qué admites la ü y no la é por ejemplo.
¿ Vas a admitir a Jürgen, pero no a José ?
__________________
Grupos de Música
Pop Music Stars
  #4 (permalink)  
Antiguo 11/02/2008, 09:41
 
Fecha de Ingreso: junio-2006
Mensajes: 125
Antigüedad: 18 años
Puntos: 1
Re: validar nombre de usuario con expresiones regulares

Hay es buenísima esa expresión regular me la guardaré y la usaré también.

Muchas gracias chavales!
Un placer contar con estas ayudas!
Nos vemos!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:34.