10
respuestas

sigue ingresando letras

he intentando tal cual el profe: pero igual me sigue poniendo letras.

<input name="phoneNumber" id="phoneNumber" class="input" type="text" placeholder="Número telefónico" pattern="\d{10}"  required minlength="10" maxlength="10" data-tipo="numero">

he intentado con el tipo TEL... y me sigue poniendo letras.

<input name="phoneNumber" id="phoneNumber" class="input" type="tel" placeholder="Número telefónico" pattern="\d{10}"  required minlength="10" maxlength="10" data-tipo="numero">

¿que puedo estar haciendo mal? mientras tanto lo dejo con el tipo:NUMBER aunque me deja poner la letra e.

<input name="phoneNumber" id="phoneNumber" class="input" type="number" placeholder="Número telefónico" pattern="\d{10}"  required minlength="10" maxlength="10" data-tipo="numero">
10 respuestas

Seria bueno colocaras el codigo o tu duda

había puesto el código de las 3 maneras.. no sé que habrá pasado. cuando lo tenga lo subiré de nuevo. gracias Jovanny

ya te resolvieron? tengo el mismo error

Hola Melany, no lo pude resolver, lo dejé de tipo number nomas. saludos

al final tuve que usar la IA para que me ayudara un momento ya que en internet no encontre documentacion clara o me falto leer más jaja

La expresión regular \d{10} sólo comprueba que el texto tenga 10 dígitos. No comprueba que el texto sólo esté compuesto por dígitos. Por ejemplo, la expresión regular \d{10} coincidirá con el texto 1234567890a, aunque el texto 1234567890a no sólo está compuesto por dígitos.

Para comprobar que el texto sólo esté compuesto por dígitos, puedes usar la siguiente expresión regular:

^[0-9]+$ Esta expresión regular coincidirá con cualquier texto que sólo esté compuesto por dígitos. Por ejemplo, la expresión regular ^[0-9]+$ coincidirá con el texto 1234567890, pero no coincidirá con el texto 1234567890a.

sin embargo, con el type en text, sigue sin funcionar

Hola chicos!

Sólo lo pude solucionar con este código que me hizo una IA

<input name="phoneNumber" id="phoneNumber" class="input" type="tel" placeholder="Número telefónico" maxlength="10" oninput="this.value = this.value.replace(/[^0-9]/g, '')" required>

Fue el único que me funcionó de todas las soluciones que miré en stack OverFlow. Por pattern definitivamente no funciona.

Ahora lo que no sé es como hacer la validación para que me se me de una advertencia cuando el usuario coloca menos números de los permitidos (10)

Hola Andrea, muchisimas gracias por tu aporte, probá poniendo minlength="10", eso quiere decir que el minimo requerido es de 10 digitos

Hola Miguel! le coloqué minlength y maxlength de 10, pero cuando hago el validity en la consola la propiedad o atributo tooShort me sale en false (supongo que teniendo menos numeros debería ser true).

Entonces no he podido con eso