![]() |
Validacion de campos numericos Con los validadores de ASP.Net como puedo controlar que en un control <asp:textbox> solo pueda poner campos numericos? Al principio habia pensado crear un UserControl que al editarlo solo permita introducir numeros, pero creo que una solución más rapida es utilizar los validadores, bien con expresiones regulares ó con CustomValidator. Tienen algun ejemplo de como conseguir esto? Un saludo |
Con buenos resultados he usado este codigo, *En el Load de tu pagina le agregas la funcion this.TxtNumber.Attributes.Add("onkeypress", "return GetValidatorByString(event)"); *Esta es la funcion: <script> function GetValidatorByString (e) { tecla = (document.all)?e.keyCode:e.which; if (tecla==8) return true; patron = /[a-zA-ZÑñ[email protected]_áéíóú;:()+*!"·$%&]/; te = String.fromCharCode(tecla); return patron.test(te); //EJEMPLOS: de patrones //patron = /[a-zA-ZÑñ]/; //letras //patron = /[a-zA-ZÑñ[email protected]_áéíóú;:()+*!"·$%& ]/; //caracteres y numeros //patron = /[1234567890]/; //solo numeros } </script> *Para solo permitir numero usarias: patron = /[1234567890]/; |
De una vez la incluyo en las faq´s para tener la referencia.. http://www.forosdelweb.com/showthrea...65#post1500865 Salu2 |
Muchas gracias, me gusta la solución, va perfecto :arriba: |
¿Por cierto, teneis la expresion regular o el patron que permita introducir numeros decimales o fechas? |
Quiza con una expresion regular se pueda conseguir que te valide el numero decimal a medida que escribes, no lo he encontrado, pero otra forma de conseguirlo es utilizar esta función: this.txtNominal.Attributes.Add("onkeypress", "return Floats(this, event)"); function Floats(obj, e) { // NOTE: Backspace = 8, Enter = 13, '0' = 48, '9' = 57, ',' = 44 cadena = obj.value; key = (document.all)? e.keyCode:e.which; // buscar en la cadena si existe ',' if (cadena.indexOf(',') == -1 && cadena.length > 0) { return (key <= 13 || (key >= 48 && key <= 57) || key == 44); } else { return (key <= 13 || (key >= 48 && key <= 57)); } } |
En mi caso le agregue el . (punto) a la lista patron = /[1234567890.]/; saludos |
Cita:
Creo que el script para números decimales podría ser: Código: <input type="text" id="foo"> |
Expresion regular con 5 digitos y dos decimales ^\d{1,5}(\.\d{1,2})?$ saludos |
Re: Validacion de campos numericos Cita:
Gracias!!! |
Re: Validacion de campos numericos me he equivocado al responder, pero como no puedo eliminar el msg.. |
| La zona horaria es GMT -6. Ahora son las 06:35. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.