¿Cómo puedo restringir la entrada a un cuadro de texto para que acepte solo números y el punto decimal?
javascript
html
TinTin
fuente
fuente
isNaN(this.textbox.value)
?Respuestas:
¡Esto realmente funciona!
fuente
&& charCode != 190 && charCode != 110 && (charCode > 105 || charCode < 96)
¿Es esto lo que estás buscando?
Espero que ayude.
EDITAR: Edité mi ejemplo anterior para que solo pueda haber un punto, precedido por al menos un dígito y seguido por al menos un dígito.
fuente
La solución aceptada no está completa, ya que puede ingresar varios '.', Por ejemplo 24 .... 22..22. con algunas pequeñas modificaciones, funcionará según lo previsto:
fuente
ondrop="return false;" onpaste="return false;" oncontextmenu="return false;"
parece ser suficienteAquí hay una solución más que permite números decimales y también limita los dígitos después del decimal a 2 lugares decimales.
fuente
if
falta una "C" en mayúscula..
), guiones (-
) y la letrae
cuando el texto se pega o suelta en el campo. El elemento HTML también mostrará dos flechas para incrementar y disminuir el número de forma predeterminada en Chrome. El botón de disminución permite que el número caiga por debajo de cero.Todas las soluciones presentadas aquí utilizan eventos de clave única. Esto es muy propenso a errores ya que la entrada también se puede dar usando copiar y pegar o arrastrar y soltar. Además, algunas de las soluciones restringen el uso de claves que no son caracteres como
ctrl+c
,Pos1
etc.Sugiero que, en lugar de comprobar cada pulsación de tecla, compruebe si el resultado es válido con respecto a sus expectativas.
El
oninput
evento se activa justo después de que se cambia algo en el área de texto y antes de ser renderizado.Puede extender la expresión regular a cualquier formato de número que desee aceptar. Esto es mucho más fácil de mantener y ampliar que comprobar si se pulsa una sola tecla.
fuente
¿Estás buscando algo así?
fuente
Solo necesita aplicar este método en Jquery y puede validar su cuadro de texto para aceptar el número solo con un decimal.
Vea la demostración funcional aquí
fuente
Para cualquiera que tropiece aquí como lo hice yo, aquí hay una versión de jQuery 1.10.2 que escribí y que funciona muy bien para mí, aunque requiere muchos recursos:
fuente
Una pequeña corrección a la brillante respuesta de @ rebisco para validar el decimal perfectamente.
fuente
Si lo desea para valores flotantes,
Aquí está la función que estoy usando
fuente
fuente
fuente
aquí hay un script que te ayudará:
fuente
Suponga que el nombre del campo de su cuadro de texto es
Income
Llamar a este método de validación cuando necesite validar su campo:
fuente
Extendiendo la respuesta de @ rebisco. este código a continuación permitirá solo números y '.' (punto) en el cuadro de texto.
fuente
Mejor solucion
fuente
A partir de la respuesta de @rebisco:
Solo admite este formato: 123123123 [.121213]
Demo aquí demo
fuente
Espero que funcione para ti.
fuente
El siguiente código funcionó para mí
El cuadro de entrada con el evento "onkeypress" de la siguiente manera
La función "isNumberKey" es la siguiente
fuente
Observé que para todas las respuestas proporcionadas aquí, las cosas no funcionan si seleccionamos una parte del texto en el cuadro de texto e intentamos sobrescribir esa parte. Así que modifiqué la función que es la siguiente:
fuente
Para números decimales y también permitiendo números negativos con 2 lugares para decimales después del punto ... Modifiqué la función a:
fuente
Una forma alternativa de restringir la entrada a un cuadro de texto para que acepte solo números y el punto decimal es usar javascript dentro de la entrada html. Esto funciona para mi:
--Acepta--
9
9,99
--No acepto--
9,99,99
A B C
fuente
Permitirá sólo números y le permitirá poner "." para decimal.
fuente
Esto funciona bien.
fuente
La mejor solución que funciona con la demostración en vivo de Pure-Javascript: https://jsfiddle.net/manoj2010/ygkpa89o/
fuente
Trabajando en el tema yo mismo, y eso es lo que tengo hasta ahora. Esto funciona más o menos, pero es imposible agregar menos después debido a la nueva verificación de valor. Tampoco permite la coma como separador de miles, solo decimal.
No es perfecto, pero podría dar algunas ideas.
Permite:
11 11 .245 (en controlador formateado en desenfoque a 1111.245)
11,44
-123.123
-1 014
0123 (formateado en desenfoque a 123)
no permite:
PS
a B C
11.11.1
11,11.1
.42
fuente
fuente
Sé que esta pregunta es muy antigua, pero a menudo recibimos tales requisitos. Hay muchos ejemplos, sin embargo, muchos parecen ser demasiado detallados o complejos para una simple implementación.
Vea esto https://jsfiddle.net/vibs2006/rn0fvxuk/ y mejórelo (si puede). Funciona en IE, Firefox, Chrome y Edge Browser.
Aquí está el código de trabajo.
fuente
Elegí abordar esto en el
oninput
evento para manejar el problema de pegar el teclado, pegar el mouse y presionar las teclas. Pase verdadero o falso para indicar validación decimal o entera.Básicamente son tres pasos en tres líneas. Si no quiere truncar los decimales, comente el tercer paso. También se pueden realizar ajustes para el redondeo en el tercer paso.
fuente
Puede restringir los valores que ingrese el usuario especificando el rango de valores ASCII.
Ejemplo : 48 a 57 para valores numéricos (0 a 9)
fuente