Listado completo de tutoriales

Expresiones regulares: cuantificadores o repeticiones {x} {x,y} {x,}


Ahora veremos que podemos inicializar luego que indicamos entre corchetes el patrón a buscar la cantidad de veces que puede repetirse este patrón.

Son útiles para controlar la cantidad de repeticiones del patrón definido.

Se especifican luego del corchete donde definimos los caracteres permitidos:

Verificar si contiene entre 3 y 6 dígitos:

var patron=/[0-9]{3,6}/;

Verificar si contiene 3:

var patron=/[0-9]{3}/;

Verificar si contiene 3 o más dígitos:

var patron=/[0-9]{3,}/;
Problema Ingresar una oración y mostrar si se ingresó un número que tiene al menos 2 dígitos.

<!DOCTYPE html>
<html>
<head>
  <title>Ejemplo de JavaScript</title>
  <meta charset="UTF-8">
</head>
<body>

<script>
  var oracion=prompt('Ingrese una palabra','');
  var patron=/[0-9]{2,}/;
  if (patron.test(oracion))
    alert('La oración tiene un número de al menos 2 dígitos');
  else
    alert('La oración no tiene un número de al menos 2 dígitos');
</script>
  
</body>
</html>

La expresión regular se verifica verdadera si se ingresa:

Yo tengo 20 años.
Yo tengo 101 años.

La expresión regular se verifica falsa si se ingresa:

Yo tengo 5 años.
Problema Ingresar una patente de un auto de argentina y luego mostrar un mensaje si es correcto o no su valor. Toda patente está constituida por 2 letras, tres números y finalmente 2 letras (ej. aa123bb )

<!DOCTYPE html>
<html>
<head>
  <title>Ejemplo de JavaScript</title>
  <meta charset="UTF-8">
</head>
<body>

<script>
  var patente=prompt('Ingrese una patente','');
  var patron=/[a-z]{2}[0-9]{3}[a-z]{2}/;
  if (patron.test(patente))
    alert('La patente ingresada es correcta');
  else
    alert('La patente ingresada no es correcta');
</script>
  
</body>
</html>

A primera medida este patrón resolvería nuestro problema:

  var patron=/[a-z]{2}[0-9]{3}[a-z]{2}/;

Se verifica verdadero si se ingresa:

aa111bb
zx343bb

Se verifica falso si se ingresa:

a333bb
bb22dd

Pero tenemos un problema ya que si ingresamos:

aa111cccd

SE VERIFICA VERDADERO.

Para resolver esto debemos modificar el patrón indicando que los últimos dos caracteres deben ser letras:

  var patron=/[a-z]{2}[0-9]{3}[a-z]{2}$/;

Ahora si ingresamos aa111bbb se verifica falso.

Pero todavía tenemos otro problema al ingresar:

5aa111bb

Y finalmente para que funcione correctamente debemos definir el patrón:

  var patron=/^[a-z]{2}[0-9]{3}[a-z]{2}$/;

El algoritmo correcto es el siguiente:

<!DOCTYPE html>
<html>
<head>
  <title>Ejemplo de JavaScript</title>
  <meta charset="UTF-8">
</head>
<body>

<script>
  var patente=prompt('Ingrese una patente','');
  var patron=/^[a-z]{2}[0-9]{3}[a-z]{2}$/;
  if (patron.test(patente))
    alert('La patente ingresada es correcta');
  else
    alert('La patente ingresada no es correcta');
</script>
  
</body>
</html>
Problema

Ingresar una oración y mostrar si se ingresó uno o más números con exactamente 5 dígitos.

Para resolver este problema debemos definir un patrón que identifique un número con exactamente cinco dígitos y que antes y después de este tenga un espacio en blanco. Para identificar el espacio en blanco debemos introducir en la expresión regular el carácter de escape y la letra s, es decir \s

El algoritmo luego es:

<!DOCTYPE html>
<html>
<head>
  <title>Ejemplo de JavaScript</title>
  <meta charset="UTF-8">
</head>
<body>

<script>
  var oracion=prompt('Ingrese una oracion','');
  var patron=/\s[0-9]{5}\s/;
  if (patron.test(oracion))
    alert('La oración tiene un número de 5 dígitos');
  else
    alert('La oración no tiene un número de 5 dígitos');
</script>
  
</body>
</html>

Ahora vemos la expresión regular definida es:

  var patron=/\s[0-9]{5}\s/;

Es decir que para que se valide verdadero el string debe contener un espacio en blanco, seguido de 5 dígitos y otro espacio en blanco.

Retornar