Expresiones regulares abreviadas: \d \w \s \D \W |
Hay patrones de búsqueda que son de uso muy frecuente como buscar dígitos por lo que se creó una sintaxis abreviada:
Código Equivalente \d [0-9] \D [^0-9] \w [a-zA-Z0-9_] \W [^a-zA-Z0-9_] \s espacio en blanco
Tener en cuenta que estos caracteres son las iniciales de decimal, word y space.
ProblemaVerificar si un número ingresado por teclado tiene exactamente 5 dígitos.
<html>
<head>
</head>
<body>
<script type="text/javascript">
var valor=prompt('Ingrese un valor numérico de 5 dígitos','');
var patron=/^\d{5}$/;
if (patron.test(valor))
document.write('Tiene 5 dígitos');
else
document.write('No tiene 5 dígitos');
</script>
</body>
</html>
La expresión regular en lugar de utilizar los corchetes de valores opcionales utilizamos el carácter de escape y la d:
var patron=/^\d{5}$/;
Es más corto y legible que utilizar:
var patron=/^[0-9]{5}$/;
Problema
Ingresar una oración y mostrar un mensaje si tiene al menos una palabra de 4 caracteres.
<html>
<head>
</head>
<body>
<script type="text/javascript">
var oracion=prompt('Ingrese una oracion','');
var patron=/\s?\w{4}\s?/;
if (patron.test(oracion))
document.write('Tiene al menos una palabra de 4 caracteres');
else
document.write('No tiene una palabra de 4 caracteres');
</script>
</body>
</html>
El patrón queda definido con la siguiente sintaxis:
var patron=/\s?\w{4}\s?/;
Es decir debe ingresarse posiblemente un espacio en blanco (el cuantificador ? debemos utilizarlo porque la palabra puede estar al principio del string y no tener un espacio en blanco antes de la primer letra), seguidamente 4 caracteres y posiblemente un espacio en blanco (el cuantificador ? debemos utilizarlo porque la palabra puede estar al final del string y no tener un espacio en blanco después de la última letra)