Comprobar número de teléfono

Esta es una función que puede resultar bastatne útil para comprobar un número de teléfono introducido por el usuario en un campo de un formulario. Se trata de ver si el número de teléfono introducido responde al formato xx xxx xx xx, el habitual en España, para otros casos las modificaciones son mínimas

La idea es que manejes una expresión regular

Solución

<script>

function checkTelef(cadena){

  let plant = /[0-9]{3}\s[0-9]{2}\s[0-9]{2}\s[0-9]{2}/g;

  if (plant.test(cadena))

     alert(cadena + "\n Responde a la plantilla.")

  else

     alert(cadena + "\nNo responde a la plantilla.")

}

</script>

<body>

<form name="form1" method="post" action="">

Introduzca su teléfono en el formato 999 99 99 99

<input type="text" name="email">

<input type="button" name="Button" value="Comprobar" onclick="checkTelef(this.form.email.value)">

</form>

</body>

Explicación

La función checkTelef( ) comprueba si un número se ha introducido según una plantilla determinada, en este caso una forma habitual en los números telefónicos españoles: tres dígitos seguidos de tres grupos de dos dígitos cada uno.

La comprobación se hace utilizando las RegExp, y es una muestra más de la potencia de este objeto.

El patrón para la comprobación es bien sencillo: [0-9] indica un dígito, el número entre llaves {2} indica el número de veces que debe repetirse el carácter que le precede, en este caso dígitos.

Luego se trata de hacer la comprobación usando el método test, si este método encuentra concordancia total devolvera true y en caso contrario false

Unas adecuadas ventanas alert completan este ejmplo.

Si tienes dudas consulta el apartado descriptivo de las expresiones regulares y el dedicado a sus métodos.