none
comprobar si una cadena de caracteres contiene numeros RRS feed

  • Pregunta



  • Hola a todos!!!!lo que yo quiero hacer es, cuando un usuario introduce una cadena de texto en una caja de texto, quiero que el programa compruebe si tiene alguna letra, es decir, la cadena sólo puede contener números, no letras.Entonces quiero saber por programación cuando ocurre esto y cuando no.
    Muchas gracias por vuestra ayuda!!!!!!!!!!!!
    Saludos
       Susana
    miércoles, 28 de noviembre de 2007 12:16

Respuestas

Todas las respuestas

  • Hola, a ver si puedo ayudar,

     

    Depedende bastante donde validar el ingreso del usuario según la técnología que estes usando(web o winform). Pero en ambos casos deberías trabajar con RegularExpression.

     

    Te dejo un link sobre RegularExpressions:

    http://msdn2.microsoft.com/es-ar/library/ms228595(VS.80).aspx

     

    Saludos,

    miércoles, 28 de noviembre de 2007 12:32
  • Hola,

     

    Puedes escribir esto en el evento KeyPress:

    Bloque de código

    private void textBox1_KeyPress(object sender, KeyPressEventArgs e)

    {

    if (!char.IsDigit(e.KeyChar))

    { e.Handled = true; }

    }

     

    Espero que te sirva,

     

    Un Saludo

    miércoles, 28 de noviembre de 2007 13:01
    Moderador
  • Le puedes añadir esto para que te deje pulsar la tecla de retroceso y la coma:

     

    Bloque de código

    if ((!char.IsDigit(e.KeyChar)) && (e.KeyChar != (char ) Keys.Back) && (e.KeyChar != ',')) e.Handled = true;

     

     

    miércoles, 28 de noviembre de 2007 17:09
  • Lo que puedes hacer es utilizar expresiones regulares. Añadiendo un using de System.Text.RegularExpresion, vas a poder utilizar la clase Regex, la cual te va a permitir validar un string contra una expresión regular. El código sería algo como lo siguiente;

     

    Regex reg = new Regex("[0-9]"); //Expresión que solo acepta números.

    bool b = reg.IsMatch("asdf"); //En este caso obtendríamos false.

    bool a = reg.IsMatch("123"); //En este caso obtendríamos true, ya que el string esta conformado solo por números.

     

    Saludos.

    sábado, 9 de febrero de 2008 2:17
  •  Centurión, Javier Escribió:

    Lo que puedes hacer es utilizar expresiones regulares. Añadiendo un using de System.Text.RegularExpresion, vas a poder utilizar la clase Regex, la cual te va a permitir validar un string contra una expresión regular. El código sería algo como lo siguiente;

     

    Regex reg = new Regex("[0-9]"); //Expresión que solo acepta números.

    bool b = reg.IsMatch("asdf"); //En este caso obtendríamos false.

    bool a = reg.IsMatch("123"); //En este caso obtendríamos true, ya que el string esta conformado solo por números.

     

    Saludos.

     

    Hola Javier, cuando queremos por ejemplo que el texto tenga letras de la A-Z de la a-z y de 0-9 cuál sería la expresión regular a usar? No sé como ponerlo. Lo que quiero es que el texto no tenga caracteres raros pero si espacios. Muchas Gracias.

    miércoles, 10 de diciembre de 2008 18:19
  • Podes hacer algo como lo siguiente:

    class Program
    {
        static void Main(string[] args)
        {
            Regex regex = new Regex(@"\w");
            string str = "#$%#234 1asdfw weERTr23 4&/(I h";

            foreach (Match match in regex.Matches(str))
            {
                Console.Write(match.Value);
            }

            Console.ReadKey();
        }
    }

    La salida sería "2341asdfwweERTr234Ih".

    Saludos.
    miércoles, 10 de diciembre de 2008 18:46