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

Como permito que solo se digiten números

Estas en el tema de Como permito que solo se digiten números en el foro de .NET en Foros del Web. Hola Como hago para que en una aplicacion asp.net solo permita digitar numeros en un textbox, osea que si digita una letra no la agrega ...
  #1 (permalink)  
Antiguo 15/04/2005, 07:50
 
Fecha de Ingreso: septiembre-2003
Ubicación: colombia
Mensajes: 374
Antigüedad: 21 años, 2 meses
Puntos: 0
Como permito que solo se digiten números

Hola

Como hago para que en una aplicacion asp.net solo permita digitar numeros en un textbox, osea que si digita una letra no la agrega al textbox.

Gracias.

ojalá fuera desde el cliente
__________________
J-.-`.::
  #2 (permalink)  
Antiguo 15/04/2005, 07:57
Avatar de HenrydeSousa  
Fecha de Ingreso: septiembre-2004
Ubicación: Venezuela
Mensajes: 300
Antigüedad: 20 años, 2 meses
Puntos: 2
Puedes crear una función con Javascript como esta:

<script language="javascript">
function solonumeros()
{
var tecla = window.event.keyCode;
if (tecla < 48 || tecla > 57)
{
window.event.keyCode=0;
}
}
</script>

y luego la llamas desde el onkeypress del control TextBox.

TextBox.Attributes.Add("onkeypress","solonumeros() ;")

o bien en el html directamen
onkeypress="solonumeros();"

Saludos...
  #3 (permalink)  
Antiguo 15/04/2005, 11:05
rdm
 
Fecha de Ingreso: noviembre-2003
Ubicación: Buenos Aires, Argentina
Mensajes: 57
Antigüedad: 21 años
Puntos: 0
Hola, en mis aplicaciones de escritorio, utilizo la siguiente función:

public static bool soloNum(char c)
{
char[] digitos = new char[]{'0','1','2','3','4','5','6','7','8','9',\b'};
if ((Array.IndexOf(digitos, c) == -1))
{
return true;
}
else
{
return false;
}
}

que es llamada desde el evento keypress del textbox que deseo controlar para que no ingresen caracteres que no sean numéricos. Esto está desarrollado en C# pero puedes convertirlo a VB si lo necesitas así. Como puedes notar, es muy similar al código que te envia HenrydeSousa.

Espero que te sirva. Saludos.
  #4 (permalink)  
Antiguo 15/04/2005, 12:23
 
Fecha de Ingreso: julio-2004
Ubicación: Gómez Palacio, Durango, México
Mensajes: 132
Antigüedad: 20 años, 4 meses
Puntos: 0
1. Del ToolBox selecciona el componente RegularExpressionValidator y agregalo a tu WebForm
2. En las propiedades de este componente selecciona la propiedad ControlToValidate y selecciona el TextBox a validar
3. En la propiedad ValidationExpression coloca la siguiente cadena:
^[0-9]*[1-9]+$|^[1-9]+[0-9]*$ (o cualquier expresión que desees validar)
4. En la propiedad ErrorMessage coloca el texto que desees enviar al momento que el usuario trate de colocar texto que no sean digitos
  #5 (permalink)  
Antiguo 23/04/2005, 02:11
 
Fecha de Ingreso: diciembre-2003
Mensajes: 52
Antigüedad: 20 años, 11 meses
Puntos: 0
hola,


<script language="javascript">
function solonumeros()
{
var tecla = window.event.keyCode;
if (tecla < 48 || tecla > 57)
{
window.event.keyCode=0;
}
}
</script>

ese script no rula en Firefox, o en algunos otros navegadores...
sabeis alguna forma de hacerlo funcionar?

Se lo agradecería mucho
  #6 (permalink)  
Antiguo 23/04/2005, 17:37
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 10 meses
Puntos: 7
Prueba con esta función:
Código:
function validar(e) {
        tecla = (document.all)?e.keyCode:e.which;
        if (tecla==8) return true;
        patron = /\d/;
        return patron.test(String.fromCharCode(tecla));
}
Añades el atributo al textbox de la siguiente forma:
y luego la llamas desde el onkeypress del control TextBox.
TextBox1.Attributes.Add("onkeypress","return validar(event);")
__________________
Alex Concha
Buayacorp - Programación y Diseño
  #7 (permalink)  
Antiguo 23/04/2005, 21:06
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 9 meses
Puntos: 50
A pesar de que en las faq´s hay un ejemplo pero construyendo directamente un texto box... sería bueno tambien incluir éste post como otra opcion para hacerlo.

estará tambien disponible en las faq´s
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
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 22:14.