Cómo hacer que un input de texto acepte números como texto

Aprende a aceptar solo números en formularios sin type number: usa onKeyDown para filtrar en tiempo real, con maxLength y sanitizado de entradas para mayor UX.

7 sept 2025 • 4 min read • Q2BSTUDIO Team

Inteligencia-Artificial-

Los formularios HTML son la base de la interacción en la web. Un reto muy común es aceptar solo números en un campo de entrada. Lo lógico es recurrir a type number esperando que solucione todo, pero aparecen problemas molestos como los spinners de incremento y decremento, la posibilidad de escribir cantidades descomunales o pegar caracteres no válidos.

Si has lidiado con los tipos nativos de HTML y las limitaciones de las expresiones regulares, no estás solo. En esta guía reescribimos el enfoque y mostramos cómo una función personalizada en el evento keydown puede resolverlo de forma limpia y consistente.

Tipos de campo de entrada en HTML

type text acepta cualquier carácter. type number pretende restringir a valores numéricos. Aun así, la validación de HTML5 no es perfecta y cada opción tiene sus peculiaridades, por lo que muchos equipos eligen según el comportamiento deseado.

Por qué type number puede ser problemático

Spinners visibles arruinan la estética en muchos navegadores de escritorio. Longitud sin control aunque definas min o max, se pueden teclear cadenas como 9999999999999999. Pegar contenido no numérico salta la validación hasta el envío del formulario. Además, algunos navegadores permiten símbolos como e o guiones, poco adecuados para cuentas o identificadores.

Problemas usando type text con regex

Intentar restringir con pattern barra invertida d asterisco no ofrece buena experiencia. El usuario puede introducir letras hasta que se valide. Algunas restricciones bloquean teclas esenciales como retroceso, suprimir o pegar. En móviles se pierde el teclado numérico y la usabilidad se resiente.

Limitaciones de la validación nativa

Los atributos required, min, max y pattern ayudan, pero no cubren todo. min y max no limitan la longitud de lo tecleado. pattern se evalúa en el envío, no en tiempo real. El tipo de input no impide por completo entradas inválidas.

Solución con JavaScript en tiempo real

La vía más fiable es controlar lo que se introduce al teclear. Asociar una función al evento onkeydown permite filtrar en tiempo real y mantener el control total de la experiencia sin sacrificar accesibilidad.

Cómo debe funcionar la función de restricción

Define una lista de teclas permitidas para edición y navegación: Backspace, Delete, ArrowLeft, ArrowRight, Tab, Enter, Home, End. Acepta únicamente dígitos del 0 al 9. Permite combinaciones con Ctrl o Meta para atajos del sistema como copiar, pegar, deshacer o seleccionar todo. Si la tecla pulsada no es un dígito, no está en la lista permitida y no va con Ctrl o Meta, cancela la acción con preventDefault para que no aparezca en el input.

Uso práctico junto a maxLength y estado controlado

En aplicaciones con React o JSX, combina varios elementos. Usa type text para evitar los spinners de type number y ganar flexibilidad. Aplica maxLength para limitar la cantidad de dígitos que se pueden introducir, por ejemplo 10 para un número de cuenta. Controla el valor con estado mediante onChange para que la interfaz y los datos estén siempre sincronizados. En onKeyDown invoca tu función de restricción para filtrar teclas en tiempo real y permitir solo números junto con teclas de edición y navegación.

Consejos extra de robustez

En onPaste y en onInput o onChange puedes sanear el valor sustituyendo todo lo que no sea un dígito por vacío. En móviles, considera usar el atributo inputmode con valor numeric para activar teclados numéricos, manteniendo a la vez tu control total mediante keydown y el saneado del valor. Si necesitas formato específico como separadores o máscara, aplica el formateo al perder el foco y valida en capa de dominio en el lado del servidor.

Conclusión

La solución equilibrada combina type text para evitar las rarezas de type number, maxLength para limitar la longitud y una función personalizada en onKeyDown que filtra en tiempo real. Si además saneas en onPaste y onChange, obtendrás un flujo impecable que impide entradas inválidas sin arruinar la experiencia del usuario y sin depender únicamente de regex o validaciones tardías.

Sobre Q2BSTUDIO

En Q2BSTUDIO desarrollamos aplicaciones a medida y software a medida con foco en rendimiento, seguridad y UX. Integramos prácticas modernas de frontend y backend, automatización de pruebas, auditoría de ciberseguridad y despliegues en servicios cloud aws y azure. Si buscas un partner tecnológico que entienda tus procesos y los transforme en soluciones digitales sólidas, descubre nuestro enfoque de desarrollo de software a medida. También optimizamos flujos con automatización de procesos para reducir errores y acelerar tu time to value.

Nuestras capacidades clave

Inteligencia artificial e ia para empresas con agentes IA para casos como clasificación, extracción de datos y copilotos internos. Ciberseguridad con pentesting, hardening y vigilancia continua. Servicios cloud aws y azure con arquitectura escalable y observabilidad. Servicios inteligencia de negocio con power bi y analítica avanzada para convertir datos en decisiones. Todo ello integrado en un ecosistema de aplicaciones a medida y software a medida listo para crecer con tu negocio.

Si quieres que tu próximo formulario sea tan inteligente como tu producto, cuenta con Q2BSTUDIO para diseñar experiencias seguras, rápidas y orientadas a resultados.

A BREAK?

Play for a moment before you go

OUR SERVICES

How we can help you

Artificial intelligence

AI agents, chatbots, and intelligent assistants that automate tasks and serve your customers 24/7 to improve the efficiency of your business.

More info

Software Development

Web, mobile, and desktop applications, intranets, e-commerce, SaaS, and management platforms designed for your company's specific needs.

More info

Cloud services

Migration, infrastructure, managed hosting, high availability, and security on Microsoft Azure and Amazon Web Services to help your business scale without limits.

More info

Cybersecurity and pentesting

Security audits, penetration testing and protection of applications, data and infrastructure on-premise and cloud, with ethical hacking and regulatory compliance.

More info

Business Intelligence

Dashboards and data analysis with Power BI: we integrate your sources, design dashboards and KPIs and turn your data into decisions.

More info

Process automation

We automate repetitive tasks and connect your applications with n8n, Power Automate, Make, and RPA, eliminating manual work and increasing productivity.

More info

Training for Companies

We train your teams in technology with criteria: web development, databases, Git, best practices and security, automation with n8n, artificial intelligence for companies and creation of AI solutions with Azure AI Foundry.

More info

Code Auditing

We audit the code that you, your team or an AI create: we tell you what is good and what to improve, we secure it and make it ready for production, web or app.

More info

AI Image Generation

We create for you the images that your business needs with artificial intelligence: product, networks, advertising, illustration and avatars. You tell us what you want and we deliver it ready to use.

More info

AI Video Generation

We create videos with artificial intelligence for you: promotional, networking, virtual presenters, dubbing and animations. You tell us the idea and we will deliver it assembled and ready to publish.

More info

AI Conversational Avatars

We create conversational avatars with AI – digital humans with a face and voice – that serve your customers and teams with the knowledge of your company, on your website, interactive monitors, WhatsApp or Teams.

More info

Online Marketing and AI

Google Ads, Meta Ads, LinkedIn Ads and AI Engine Positioning (GEO/AEO): we attract customers and make your brand appear where they search for you, also on ChatGPT, Gemini and Perplexity.

More info

Do you have a project in mind?

Tell us your vision and we'll turn it into a software solution. Whatever the scope, we make your idea real.

Live Chat