elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  ayuda con expresion regular para validar un nombre
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ayuda con expresion regular para validar un nombre  (Leído 7,397 veces)
d91

Desconectado Desconectado

Mensajes: 165


Ver Perfil
ayuda con expresion regular para validar un nombre
« 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
  1. c#
  2. string nombre = "Juan Alvarez";
  3.  
  4. string expresion = "^[A-Z][a-z]+$";
  5.  


En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: ayuda con expresion regular para validar un nombre
« Respuesta #1 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)


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.788



Ver Perfil
Re: ayuda con expresion regular para validar un nombre
« Respuesta #2 en: 17 Febrero 2016, 16:21 pm »

Puedes probar con esta expresión, la cual si evalua vocales acentuadas:

Código
  1. string name = "Juan Álvarez"; // .Trim(' ')
  2. string expr = "^[\w\.\-\s]+$";
  3.  
  4. Regex rgx = new Regex(expr, RegexOptions.IgnoreCase);
  5.  
  6. Console.WriteLine(rgx.IsMatch(name));
  7. Console.WriteLine(rgx.Match(name));

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!
« Última modificación: 17 Febrero 2016, 16:49 pm por Eleкtro » En línea

d91

Desconectado Desconectado

Mensajes: 165


Ver Perfil
Re: ayuda con expresion regular para validar un nombre
« Respuesta #3 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
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda Expresion Regular
Ingeniería Inversa
macmaikel 2 2,340 Último mensaje 11 Junio 2013, 03:36 am
por macmaikel
crear funcion para expresion regular
Java
m@o_614 0 1,701 Último mensaje 30 Agosto 2014, 00:39 am
por m@o_614
Ayuda con expresión regular
Programación General
betopuck 5 3,142 Último mensaje 4 Octubre 2017, 20:19 pm
por Eleкtro
Expresion regular para capturar texto dentro de etiqueta
Programación Visual Basic
yovaninu 0 1,781 Último mensaje 1 Noviembre 2017, 18:19 pm
por yovaninu
Ayuda con expresion regular texto y contenido dentro de llaves.
Programación General
0roch1 0 2,098 Último mensaje 25 Julio 2019, 22:56 pm
por 0roch1
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines