none
c# web textbox solo numeros o solo letras

    Question

  • Hola amigos, como puedo hacer para que en un textbox de c# web asp.net me valide solo que se ingrese numeros y no letras
    Tuesday, November 09, 2010 8:15 PM

Answers

  • Hola

    Puedes usar RegularExpressionValidator, FilteredTextBoxExtende para las validaciones que necesitas, asigna grupo de validadores si es necesario.


    NUMEROS DECIMALES

    <asp:TextBox ID="txtDecimales" runat="server"></asp:TextBox>
    <cc1:MaskedEditExtender ID="meeDecimales" runat="server" TargetControlID="txtDecimales" Mask="99.99"
    MaskType="Number" InputDirection="RightToLeft" />

    NUMEROS ENTEROS

    <asp:TextBox ID="txtNumerosEnteros" runat="server"></asp:TextBox>
    <cc1:FilteredTextBoxExtender ID="ftbeNoPedimento" runat="server" FilterType="Numbers"
    TargetControlID="txtNumerosEnteros">
    </cc1:FilteredTextBoxExtender>

    SOLO LETRAS

    <asp:TextBox ID="txtLetras" runat="server"></asp:TextBox>
    <cc1:FilteredTextBoxExtender ID="ftbProgramaInterno" runat="server" TargetControlID="txtLetras"
    Enabled="True" ValidChars="ABCDEFGHIJKLMNÑOPQRSTUVWXYZabcdefghijklmnñopqrstuvwxyzüÜáéíóúÁÉÍÓ">
    </cc1:FilteredTextBoxExtender>

    Revisa este Link:

    http://www.asp.net/ajax/ajaxcontroltoolkit/samples/MaskedEdit/MaskedEdit.aspx

    Espero te sea de ayuda.

    • Marked as answer by Aprendis24 Wednesday, November 10, 2010 2:04 PM
    Tuesday, November 09, 2010 10:40 PM
  • hola

    http://social.msdn.microsoft.com/Forums/es-ES/netfxwebes/thread/ff682a07-acde-4007-9bf6-fd3fe1d72c09

    aplica la explciacion de esa otra pregunta

    o sea usa el control de validacion de asp.net el RegularExpressionValidator y define alli la expresion regular que se menciona

    pero en tu caso si solo son numeros enteros usa la expresion regular

    \d+

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    • Marked as answer by Aprendis24 Wednesday, November 10, 2010 2:04 PM
    Tuesday, November 09, 2010 8:20 PM
  • hola,

    Buenos Dias 

    No te animado a utilizar los controlos AjaxToolskit te puede ayudar a lo que necesita ?

    http://www.asp.net/AJAX/AjaxControlToolkit/Samples/FilteredTextBox/FilteredTextBox.aspx

    saludo


    Enmanuel Grullard@Developer ASP.NET
    Wednesday, November 10, 2010 1:47 PM
  • Para validar solo numeros puedes hacer algo así

    <asp:TextBox runat="server" ID="txtnumber" onkeypress="return numbersonly(event);" Width="350px"> 
    

     <SCRIPT language="JavaScript">
      function numbersonly(e)
      {
        var unicode=e.charCode? e.charCode : e.keyCode
        if (unicode!=8 && unicode!=44)
        {
          if (unicode<48||unicode>57) //if not a number
          { return false} //disable key press    
        }  
      }  
    </SCRIPT>
    

     

    Para validar solo texto algo asi

    <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ErrorMessage="please input alphabets." ControlToValidate="txtInput" ValidationExpression="^[a-zA-Z]+$" Height="19px" Width="165px"></asp:RegularExpressionValidator><br />
        <asp:Button ID="Button1" runat="server" Text="Button" />
    

     

    En cuanto al codigo que pones, esta bien, sin embargo el evento textchanged en web no es tan completamente fuerte como en una aplicacion de escritorio, es decir que si lo usas, cada vez que presiones una tecla hará postback lo que no es nada bueno, deberias acompañarlo de javascript o algun otro elemento.



    Jason Ulloa
    Mi Blog
    • Marked as answer by Aprendis24 Wednesday, November 10, 2010 2:04 PM
    Wednesday, November 10, 2010 1:50 PM

All replies

  • hola

    http://social.msdn.microsoft.com/Forums/es-ES/netfxwebes/thread/ff682a07-acde-4007-9bf6-fd3fe1d72c09

    aplica la explciacion de esa otra pregunta

    o sea usa el control de validacion de asp.net el RegularExpressionValidator y define alli la expresion regular que se menciona

    pero en tu caso si solo son numeros enteros usa la expresion regular

    \d+

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    • Marked as answer by Aprendis24 Wednesday, November 10, 2010 2:04 PM
    Tuesday, November 09, 2010 8:20 PM
  • Hola

    Puedes usar RegularExpressionValidator, FilteredTextBoxExtende para las validaciones que necesitas, asigna grupo de validadores si es necesario.


    NUMEROS DECIMALES

    <asp:TextBox ID="txtDecimales" runat="server"></asp:TextBox>
    <cc1:MaskedEditExtender ID="meeDecimales" runat="server" TargetControlID="txtDecimales" Mask="99.99"
    MaskType="Number" InputDirection="RightToLeft" />

    NUMEROS ENTEROS

    <asp:TextBox ID="txtNumerosEnteros" runat="server"></asp:TextBox>
    <cc1:FilteredTextBoxExtender ID="ftbeNoPedimento" runat="server" FilterType="Numbers"
    TargetControlID="txtNumerosEnteros">
    </cc1:FilteredTextBoxExtender>

    SOLO LETRAS

    <asp:TextBox ID="txtLetras" runat="server"></asp:TextBox>
    <cc1:FilteredTextBoxExtender ID="ftbProgramaInterno" runat="server" TargetControlID="txtLetras"
    Enabled="True" ValidChars="ABCDEFGHIJKLMNÑOPQRSTUVWXYZabcdefghijklmnñopqrstuvwxyzüÜáéíóúÁÉÍÓ">
    </cc1:FilteredTextBoxExtender>

    Revisa este Link:

    http://www.asp.net/ajax/ajaxcontroltoolkit/samples/MaskedEdit/MaskedEdit.aspx

    Espero te sea de ayuda.

    • Marked as answer by Aprendis24 Wednesday, November 10, 2010 2:04 PM
    Tuesday, November 09, 2010 10:40 PM
  • miren amigos buscando ejemplos en internet llegue a esto, si me lo pueden validar por favor

    protected void txtnLocal_TextChanged(object sender, EventArgs e)
        {
            int num1;
            bool res = int.TryParse(txtnLocal.Text, out num1);
            if (res == false)
            {
               Response.Write("Error solo se permiten numeros");
                txtnLocal.Text = "";
                txtnLocal.Focus();
                return;
            }

            else
            {
                num1 = Convert.ToInt32(txtnLocal.Text);
                num1 = int.Parse(txtnLocal.Text);
            }

            //return;       
        }

    Wednesday, November 10, 2010 1:36 PM
  • hola,

    Buenos Dias 

    No te animado a utilizar los controlos AjaxToolskit te puede ayudar a lo que necesita ?

    http://www.asp.net/AJAX/AjaxControlToolkit/Samples/FilteredTextBox/FilteredTextBox.aspx

    saludo


    Enmanuel Grullard@Developer ASP.NET
    Wednesday, November 10, 2010 1:47 PM
  • Para validar solo numeros puedes hacer algo así

    <asp:TextBox runat="server" ID="txtnumber" onkeypress="return numbersonly(event);" Width="350px"> 
    

     <SCRIPT language="JavaScript">
      function numbersonly(e)
      {
        var unicode=e.charCode? e.charCode : e.keyCode
        if (unicode!=8 && unicode!=44)
        {
          if (unicode<48||unicode>57) //if not a number
          { return false} //disable key press    
        }  
      }  
    </SCRIPT>
    

     

    Para validar solo texto algo asi

    <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ErrorMessage="please input alphabets." ControlToValidate="txtInput" ValidationExpression="^[a-zA-Z]+$" Height="19px" Width="165px"></asp:RegularExpressionValidator><br />
        <asp:Button ID="Button1" runat="server" Text="Button" />
    

     

    En cuanto al codigo que pones, esta bien, sin embargo el evento textchanged en web no es tan completamente fuerte como en una aplicacion de escritorio, es decir que si lo usas, cada vez que presiones una tecla hará postback lo que no es nada bueno, deberias acompañarlo de javascript o algun otro elemento.



    Jason Ulloa
    Mi Blog
    • Marked as answer by Aprendis24 Wednesday, November 10, 2010 2:04 PM
    Wednesday, November 10, 2010 1:50 PM
  • Muy buen aporte gracias, sirve para toda la comunidad

     

    Friday, November 19, 2010 10:36 PM
  • Como puedo permitir en un textbox solo numeros y letras no caracteres especiales? Gracias.
    Sunday, August 14, 2011 9:14 PM
  • hola como puedo limitar con este mismo método pero que sean solo 4 números.
    Tuesday, May 14, 2013 11:21 PM