TextBox solo letras (validación)

Hola: acá les dejo un ejemplo muy sencillo en visual basic .net para evaluar las teclas presionadas cuando se ingresan datos en un textbox y solo permitir las letras ignorando todo lo que no sea una letra. Es muy básico pero les servirá de punto de partida para validar cualquier ingreso. A continuación el código….

Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
    If (Not Char.IsLetter(e.KeyChar) And e.KeyChar <> Microsoft.VisualBasic.ChrW(8)) Then
        e.Handled = True
    End If
End Sub

El tipo char tiene varias propiedades que nos resultarían muy útiles a la hora de realizar validaciones. En el ejemplo vemos la propiedad .IsLetter… aca algunas más para recordar:

IsControl: Indica si el caracter unicode especificado se clasifica por categorias como un caracter de Control

IsDigit: Indica si el caracter unicode especificado se clasifica por categorias como un Dígito Decimal

IsNumber: Indica si el caracter unicode especificado se clasifica por categorias como un número

IsLetterOrDigit: Indica si el caracter unicode especificado se clasifica por categorias como un caracter alfabético o un Dígito Decimal

y hay muchas más… les dejo un consejo sano… siempre consulten la ayuda.



18 Responses to “TextBox solo letras (validación)”

  1. Información Bitacoras.com…

    Si lo deseas, puedes hacer click para valorar este post en Bitacoras.com. Gracias….

  2. Fluireemi dice:

    Thank you!

  3. k4rloz dice:

    gracias por la ayuda, estoy iniciandome en vb.net y a mi me enseñaron de esta forma:

    If Not (Char.IsLetter(e.KeyChar) Or Asc(e.KeyChar) = 32 Or Asc(e.KeyChar) = 8) Then
    e.Handled = True

    tu utilizaste microsoft.visual…etc, dime amigo cual es mas conveniente y facil de usar?

  4. Eduardo dice:

    Saludos, soy nuevo en esto y no me aparece el metodo Keypress, que puedo hacer ???

    • Eliseo dice:

      Cuando en vista de diseño haces doble clic sobre un control, vas a la vista de codigo y al evento que ese control tenga como predeterminado. Por ejemplo, si haces doble clic sobre un control TextBox1 vas a ir al codigo de TextBox1_TextChange, luego con el cursor dentro se esa funcion abres el comboque hay arriba a la derecha en la ventana de codigo donde están listados todos los métodos del control en cuestion. Seleccionas KeyPress y te arma la rutina.
      También hay otra forma de hacerlo. Si esta no te resulta me avisas.

  5. blabla dice:

    Gracias por el codigo Men muy bueno, para que poner mas de lo que se necesita..

  6. jovanni dice:

    esta muy bueno tu aportación ojala pudieras colocar mas código de todo lo que tenga que ver con validaciones para realizar un software.

    saludos

  7. Shikill0 dice:

    gracias por el aporte
    yo igual estoy iniciando y necesito toda la ayuda posible

  8. Pauliina dice:

    Auxilio…!! Necesiito validar algunos campos de un formulario para que reciban solo letras pero debo hacerlo utilizando una funcion alguien sabe como Hacerlo..??
    Cualkier aporte me ayudari..!!

    • CODIGO MALO dice:

      Public Function Fun_ValidarDatos(ByVal campovalidar As String, ) As Boolean
      Dim lsResultado As String = “VALIDADO”
      If Char.IsLetter(lsUsuario) Then
      return True
      Else
      return false
      End If
      End Function
      aqui termina la funcion para ocuparla lo llamas asi:
      Fun_ValidarDatos(“esto se validara y devolvera false por que tiene este numero 96 “)
      VISUAL BASIC ME DA SUEÑO, APRENDAN JAVA SOSOS

      • CODIGO MALO dice:

        ASI ES:
        Public Function Fun_ValidarDatos(ByVal campovalidar As String, ) As Boolean
        If Char.IsLetter(campovalidar ) Then
        return True
        Else
        return false
        End If
        End Function
        aqui termina la funcion para ocuparla lo llamas asi:
        Fun_ValidarDatos(“esto se validara y devolvera false por que tiene este numero 96 “)
        VISUAL BASIC ME DA SUEÑO, APRENDAN JAVA SOSOS

  9. Lyn dice:

    solo bueno “CONOCE”

    GRACIAS… :>

  10. arkuth dice:

    OLas el codigo lo provee kn la consola de visual..pero.. me valida solo los numeros (12345679), pero si coloco numeros y letras lo acepta (abc123). tambien tengo entendido que los numeros 48 al 57 representan los numeros del 1 a 9. puedo utilisar estos pero el codigo seria muy extenso..!!

    Microsoft.VisualBasic.ChrW(48)) —-> 0

    Microsoft.VisualBasic.ChrW(57)) —-> 9

    Este es el codigo en la consola..!!!

    nom = InputBox(“Ingrese su nom:”)
    Do While (Not Char.IsLetter(nom) And nom Microsoft.VisualBasic.ChrW(32))
    nom = InputBox(“Ingrese su nombre otra ves:”)
    loop

    se que el foro es para textbox, pero viendo la misma problematica de validacion, me parecio conveniente preguntar, espero una respuesta… gracias de antemano…!!!

  11. Ivan dice:

    Muy sencillo y efectivo. Yo en mi caso solo necesitaba que no me aceptara números, no importaba si ingresabas otro símbolo extraño.

    Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
    If Char.IsNumber(e.KeyChar) Then
    e.Handled = True
    End If
    End Sub

    Gracias.

  12. ROBINSON WILMER ORTIZ MEDINA dice:

    codigo en VB.NET 2005 que acepte solo numeros
    que cuando escriba una letra me salga un mensaje que solamente se acepta numeros
    sea el caso tambien con cualquier carater ej: -,.,´{>, solamente numeros

  13. CODIGO MALO dice:

    ESTE CODIGO GENERADO POR PRINCIPIANTES NO SIRVE!!!!!cualquier usuario puede ingresar numeros facilmente. COPIANDO Y PEGANDO
    Dejen usar este codigo o configurenle el evento KeyDown y el evento del mouse de click derecho copiar y pegar.
    Att. Programador

  14. R. Fernández dice:

    Muchísimas gracias!!! Me re sirvió!!

Comentar