Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/04/2010, 01:08
pezcri
 
Fecha de Ingreso: marzo-2010
Mensajes: 17
Antigüedad: 14 años, 8 meses
Puntos: 1
preg_match para nombre de usuario

Holas, necesito un buen preg_match para que el nombre de usuario pueda contener solo letras de la "a" a la "z", que se puedan usar espacios, por supuesto, y el unico caracter especial que se pueda usar sea el guion medio "-". Tambien que un nombre no pueda ser todo en mayuscula, por ejemplo "CARLOS". Lo de la primera letra en mayuscula ya lo arregle con un ucfirst() pero como no estoy muy familiarizado con el preg_match no se como hacer el resto.

Por ejemplo, nombres que estan correctos:

Dark-Math
pepito (que pasa a ser Pepito)
Carlos el grande

Nombres que estan incorrectos:

JUAN
Dark_Math

Por ahora lo unico que pude hacer fue esto:

if (preg_match("/^[-A-Z\s]+$/i", $username)) {

El "\s" ya estaba ahi porque lo saque de otro script pero no estoy seguro de su funcion, si alguien me podria decir para que sirve le agradeceria.