Foros del Web » Programación para mayores de 30 ;) » .NET »

Duda sobre expresión regular

Estas en el tema de Duda sobre expresión regular en el foro de .NET en Foros del Web. Estoy haciendo la validación de un textbox con un nombre de persona, en un principio no quiero límites de tamaño en los nombres, acepto espacios ...
  #1 (permalink)  
Antiguo 31/08/2009, 03:09
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Duda sobre expresión regular

Estoy haciendo la validación de un textbox con un nombre de persona, en un principio no quiero límites de tamaño en los nombres, acepto espacios en blanco y mayúsculas (para comparar convierto a lower).

Lo que necesito es que me compruebe que incluyo letras de a-z, ñ y acentos, y permita también los espacios en blanco.

He llegado a esta expresión regular:

string expresion = "[a-z]?[ñáéíóú]?[\\s]?";

Pero tengo dudas, es así completamente correcta? Existe alguna opción mejor o es ésta la más simple? Hasta donde hice las pruebas funciona bién.
  #2 (permalink)  
Antiguo 01/09/2009, 15:06
 
Fecha de Ingreso: julio-2009
Mensajes: 82
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Duda sobre expresión regular

Buenas,

dices que te funciona bien? es que con esa expresión me parece que si pones sólo un espacio en blanco creo que te lo daría por válido.

En este link tienes más información sobre las expresiones regulares.

Como sugerencia, yo agruparía por nombres, es decir, un conjunto de letras (la primera en mayúscula) seguidas de un espacio, algo tal que así:

([A-ZÑÁÉÍÓÚ][a-zñáéíóú]+[\\s]?)+
  #3 (permalink)  
Antiguo 02/09/2009, 03:24
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: Duda sobre expresión regular

No tengo problemas con los espacios en blanco, porque el poner un espacio únicamente (o incluso varios seguidos) está controlado por el RequiredFieldValidator que tengo a mayores, pero gracias por interesarte :)
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 09:10.