Título: ayuda con expresion regular para validar un nombre Publicado por: d91 en 17 Febrero 2016, 15:52 pm hola, estoy tratando de validar un nombre de persona con una expresión regular pero solo he logrado validar un nombre y no encuentro como repetir esta validación ya sea con un + o un * y agregarle el espacio en blanco
Código
Título: Re: ayuda con expresion regular para validar un nombre Publicado por: engel lex en 17 Febrero 2016, 16:12 pm los nombres son complicados de validar ya que no siguen un orden formal
la expresión puede ser Código: ^[A-Z][a-z]+\s[A-Z][a-z]+$ pero si tiene acentos no lo evaluará (no están incluidas en esa expresión) los siguientes patrones no serán reconocidos "Vasco da Gama" (es "da Gama", son 2 cosas) "Leonardo DiCaprio" (pegado con 2 mayúsculas) "Reinaldo Dos Santos" (mezcla de las anteriores, notese el "Dos" con mayúsculas) "Ángel Gómez" (tiene acentos) Título: Re: ayuda con expresion regular para validar un nombre Publicado por: Eleкtro en 17 Febrero 2016, 16:21 pm Puedes probar con esta expresión, la cual si evalua vocales acentuadas:
Código
Para lo demás simplemente asumimos que el usuario conoce su nombre y sabe escribirlo, aceptando posibles inconsistencias como escribir "David De María" y "David DeMaría. PD: Fuera de .Net tendrías que reemplazar \w por \p{Letra} para reconocer caracteres acentuados de la categoría Unicode ...siempre que el motor Regex de ese lenguaje permita su uso (en .Net puedes utilizarlo también, pero es innecesario). creo que es mejor sin acentos Entonces modificando mi expresión, sería así: Código: "^[A-z\.\-\s]+$" Saludos! Título: Re: ayuda con expresion regular para validar un nombre Publicado por: d91 en 17 Febrero 2016, 16:45 pm gracias, estoy haciendo inserciones en una base de datos y creo que es mejor sin acentos porque a veces las consultas devuelven caracteres raros según sea el dbms
|