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

Expresiones Regulares

Estas en el tema de Expresiones Regulares en el foro de .NET en Foros del Web. Buenas tardes, necesito validar con la clase regex de .net que en un campo de texto solo puedan haber los siguientes carácteres: números(0-9) guiones( - ...
  #1 (permalink)  
Antiguo 13/09/2010, 11:46
 
Fecha de Ingreso: julio-2009
Mensajes: 28
Antigüedad: 14 años, 9 meses
Puntos: 0
Sonrisa Expresiones Regulares

Buenas tardes, necesito validar con la clase regex de .net que en un campo de texto solo puedan haber los siguientes carácteres:

números(0-9)
guiones( - )
comas( , )

las cadenas que ingresan los usuarios tienen este formato: "0-5, 7-15, 16-19"


como puedo hacer el patrón para la validación??
he mirado un poco por internet pero ahorita no tengo mucho tiempo y la verdad no he comprendido bien lo que he visto. les agradecería si me colaboran de una vez con la validación que debo utilizar.

Saludos
  #2 (permalink)  
Antiguo 13/09/2010, 23:41
 
Fecha de Ingreso: marzo-2007
Mensajes: 74
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: Expresiones Regulares

Buenas tardes, necesito validar con la clase regex de .net que en un campo de texto solo puedan haber los siguientes carácteres:

números(0-9)
guiones( - )
comas( , )

no mencionas espacios

asi quedaria
saludos



Public Class Form1
Dim Cont As Integer

Private Function Valida(ByVal s As String) As Boolean
Dim I As Integer
Dim Valor As Boolean
Valor = True
Cont = 1
For I = 1 To Len(s)
Select Case Cont
Case 1
If InStr("0123456789", Mid(s, I, 1)) > 0 Then
Cont = 2
Else
Valor = False
Exit For
End If

Case 2
If InStr("-", Mid(s, I, 1)) > 0 Then
Cont = 3
Else
If InStr("0123456789", Mid(s, I, 1)) = 0 Then
Valor = False
Exit For
End If
End If
Case 3
If InStr("0123456789", Mid(s, I, 1)) > 0 Then
Cont = 4
Else
Valor = False
Exit For
End If
Case 4
If InStr(",", Mid(s, I, 1)) > 0 Then
Cont = 1
Else
If InStr("0123456789", Mid(s, I, 1)) = 0 Then
Valor = False
Exit For
End If
End If

End Select
Next I

If Valor = False Then
Valida = Valor
Else
If Cont = 3 Or Cont = 1 Then
Valida = False
Else
Valida = True
End If
End If

End Function


Private Sub Button1_Click(ByVal sender As system.Object, ByVal e As system.EventArgs) Handles Button1.Click
If Valida(TxtDato.Text) Then
MsgBox("Correcto")
Else
MsgBox("Incorrecto [" & TxtDato.Text & "]")
End If
End Sub

Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

End Sub
End Class
  #3 (permalink)  
Antiguo 15/09/2010, 08:43
 
Fecha de Ingreso: julio-2009
Mensajes: 28
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Expresiones Regulares

Buenos días... gracias por la ayuda pero lo logré con la clase regex utilizando el siguiente código para el patron de expresión regular:


public Boolean ValidarCaracteresRangos(String textoaValidar)
{
String Patron = @"^(([,]?(\d+[-]\d+))+)$";
Regex expresionRegular = new Regex(Patron);
return expresionRegular.IsMatch(textoaValidar);
}

Etiquetas: expresiones, regulares
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 02:08.