HTML 5 – expresión regular numérica

2 minutos de lectura

HTML 5 - expresión regular numérica
Munue

Tengo un campo de entrada llamado Flota no.

Quiero validarlo usando HTML 5 para permitir solo la entrada de dígitos a una longitud máxima de 5 dígitos.

Logré ingresar solo dígitos pero solo acepta 1 dígito.

No puedo poner más de 1 dígito. Esto es lo que traté de hacer:

<div>
  <label for="element_1">Fleet Number </label>
  <input id="element_1" name="element_1" type="text" maxlength="255" 
  value="" required placeholder="Enter Digits only" pattern = "[0-9]"
  title="Fleet No. must contain digits only"/> 
</div>

HTML 5 - expresión regular numérica
Wouter J.

Usar [0-9]{1,5}

<input type="text" pattern="[0-9]{1,5}" />

{1,5} significa repetir la parte anterior 1, 2, 3, …, 5 veces.

HTML 5 - expresión regular numérica
Nikola Mitev

Esta es la forma más limpia

<input type="text" pattern="d{1,5}" title="Only digits" />

  • el * significa cero o más veces, lo que no sigue las 2 reglas requeridas que se dicen en la pregunta: al menos 1 y menos de 6

    – WouterJ

    02 jun.

por qué no, por ejemplo: usando min y max argumentos para number aporte:

<input type="number" name="element_1" min="0" max="99999">

Esto solo es válido cuando el número es menor que 99999 y esto significa que es menor o igual a 5 dígitos.

Simplemente agregue la siguiente expresión de entrada en su etiqueta HTML. Esto permitirá aceptar los únicos números entre 0 y 9.

Este también restringe la aceptación de +, -, .(punto).

<input type="text" id="salary" name="salary" maxlength="3" oninput="this.value = this.value.replace(/[^0-9]/g, '').replace(/(..*)./g, '$1');" />

‘O’

<input type="text" id="salary" name="salary" maxlength="3" oninput="this.value = this.value.replace(/[^0-9.]/g, '').replace(/(..*)./g, '$1');" />

Encontré esto en uno de los js fiddles, y funciona para mí.

sólo 5 dígitos numéricos:

Ver:
https://regex101.com/r/pTSwFN/1/

 pattern="[0-9]{5}"

.

¿Ha sido útil esta solución?