validar texto y email

08/02/2005 - 19:57 por José Luis | Informe spam
Como puedo hacer que en un campo de texto solo me acepten letras y no me deje
escribir numeros.

Ademas si no es mucho preguntar, como hago para validar una direccion de
correo electronico sea valido.

Preguntas similare

Leer las respuestas

#1 Jorge Serrano [MVP VB]
09/02/2005 - 11:17 | Informe spam
Hola Jose Luis,

para validar una dirección de correo electrónico válida, yo usaría
Expresiones Regulares.
Curiosamente, hay un hilo reciente (un poco más arriba de este hilo) que
trata sobre Expresiones Regulares.

Un saludo,

Jorge Serrano Pérez
MVP VB.NET


"José Luis" wrote:

Como puedo hacer que en un campo de texto solo me acepten letras y no me deje
escribir numeros.

Ademas si no es mucho preguntar, como hago para validar una direccion de
correo electronico sea valido.
Respuesta Responder a este mensaje
#2 _ C l a u d i n h o _
10/02/2005 - 14:07 | Informe spam
lejos lo mejor que puedes hacer es crear tus controles personalizados.

Te envio 2 que hize yo mismo, uno que valida mail desplegando un mensaje si está mal escrito y otro que solo deja ingresar numeros y los formatea.
Te recomiendo que generes un "proyecto de controles personalizados" luego agregas el DLL generado por ese proyecto a tu lista de controles visuales y listo.

Ojala te sirva, saludos


'-TEXTBOX_NUMERICO
Public Class clsTextboxNumerico

Inherits System.Windows.Forms.TextBox

Private dblValor As Double

Private intNumeroDecimales As Integer = 0

Public Sub New()

MyBase.New()

Me.MaxLength = 11

End Sub

Public ReadOnly Property Vacio() As Boolean

Get

If MyBase.Text = "" Then

Return True

Else

Return False

End If

End Get

End Property

Public Property NumeroDecimales() As Integer

Get

Return intNumeroDecimales

End Get

Set(ByVal Value As Integer)

intNumeroDecimales = Value

End Set

End Property

Public Overrides Property Text() As String

Get

If IsNumeric(valorNumerico(MyBase.Text)) Then

Return valorNumerico(MyBase.Text)

Else

Return 0

End If

End Get

Set(ByVal Value As String)

MyBase.Text = formatoNumerico(Value)

End Set

End Property



Private Function valorNumerico(ByVal strTexto As String) As String

Dim txtvalortmp As String = ""

Dim txtvalor As String = ""

If MyBase.Text = "" Then

Return "0"

End If

Dim caracter As Char

txtvalortmp = strTexto



For Each caracter In txtvalortmp

If (caracter >= "0" And caracter <= "9") Or caracter = "," Or caracter = "-" Then

txtvalor = txtvalor & caracter

End If

Next

Return txtvalor

End Function

Private Function formatoNumerico(ByVal strTexto As String) As String

Dim txtvalortmp As String = ""

Dim txtvalor As String = ""

Dim caracter As Char

txtvalortmp = strTexto

For Each caracter In txtvalortmp

If (caracter >= "0" And caracter <= "9") Or caracter = "," Or caracter = "-" Then

txtvalor = txtvalor & caracter

End If

Next

If txtvalor <> "" Then

' Return Double.Parse(txtvalor).ToString("#,##0.##")

Try

dblValor = txtvalor

If CDbl(txtvalor) <> 0 Then

Return Format(CDbl(txtvalor), "N" & Me.intNumeroDecimales)

Else

Return ""

End If

Catch ex As Exception

dblValor = 0

Return ""

End Try

Else

dblValor = 0

Return ""

End If



End Function

Private Sub clsTextboxNumerico_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.LostFocus

Me.Text = formatoNumerico(MyBase.Text)

End Sub



Private Sub clsTextboxNumerico_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles MyBase.KeyPress

If (Char.IsDigit(e.KeyChar) Or e.KeyChar = "," Or e.KeyChar = "." Or e.KeyChar = "" Or e.KeyChar = "-") Then

If (Me.Text.Length < 9) Then

e.Handled = False

Else

If e.KeyChar <> "" Then

e.Handled = False

End If

End If

Else

e.Handled = True

End If

End Sub


End Class


'-/TEXTBOX_NUMERICO



'--TEXTBOX MAIL
Imports System.Text.RegularExpressions

Public Class clsTextboxMail

Inherits System.Windows.Forms.TextBox

Private txtTEMP

Public Sub New()

MyBase.New()

Me.MaxLength = 100

End Sub

Private Sub clsTextboxCorto_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.LostFocus

Dim reg As New Regex("\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*")

If MyBase.Text <> "" Then

If Not reg.IsMatch(MyBase.Text) Then

MyBase.Text = ""

Activa()

MsgBox("E-Mail Ingresado no valido", MsgBoxStyle.Information, "Mensaje")

End If

End If

End Sub

Private Sub clsTextboxCorto_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.GotFocus

txtTEMP = MyBase.Text

End Sub



Public Overrides Property Text() As String

Get

Return MyBase.Text

End Get

Set(ByVal Value As String)

MyBase.Text = Value

End Set

End Property

End Class




'
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida