Ahora veremos el significado de los caracteres [] en una expresión
regular. Se emplea estos caracteres para encerrar los caracteres
permitidos.
problema Controlar si la palabra ingresada comienza con el primer carácter alfabético ya sea en mayúsculas o en minúsculas:
problema Controlar si la palabra ingresada comienza con el primer carácter alfabético ya sea en mayúsculas o en minúsculas:
<html> <head> </head> <body> <script type="text/javascript"> var palabra=prompt('Ingrese una palabra',''); var patron=/^[a-zA-Z]/; if (patron.test(palabra)) alert('La palabra comienza con un carácter alfabético (mayúscula o minúscula)'); else alert('La palabra no comienza con un carácter alfabético (mayúscula o minúscula)'); </script> </body> </html>
Debemos especificar cada uno de los caracteres permitidos encerrados
entre los corchetes. Cuando los caracteres son seguidos en la tabla de
caracteres podemos utilizar el carácter '-' para indicar un rango de
caracteres:
var patron=/^[a-zA-Z]/;
Como solo debemos verificar el primer carácter utilizamos el comando '^' y le sigue los caracteres posibles.
problema
Ingresar una palabra y luego mostrar un mensaje si finaliza con vocal.
<html> <head> </head> <body> <script type="text/javascript"> var palabra=prompt('Ingrese una palabra',''); var patron=/[aeiouAEIOUáéíóú]$/; if (patron.test(palabra)) alert('La palabra finaliza con vocal'); else alert('La palabra no finaliza con vocal'); </script> </body> </html>
En la expresión regular debemos especificar entre corchetes todas las
vocales y como no están en forma seguida en la tabla de caracteres
debemos especificarlas una por una:
var patron=/[aeiouAEIOUáéíóú]$/;
Como debemos controlar el último carácter de la oración utilizamos el comando $
Hemos utilizado el carácter '^' para encontrar coincidencias desde el
principio del string, pero este carácter dentro de los corchetes
abiertos y cerrados tiene otro uso. Permite obtener todos los otros
caracteres distintos a los especificados.
problema
Ingresar una clave que no finalice en vocal.
<html> <head> </head> <body> <script type="text/javascript"> var palabra=prompt('Ingrese una palabra',''); var patron=/[^aeiouAEIOUáéíóú]$/; if (patron.test(palabra)) alert('La palabra no finaliza con vocal'); else alert('La palabra finaliza con vocal'); </script> </body> </html>problema
Ingresar una palabra y luego mostrar un mensaje si contiene una vocal en alguna parte de la palabra.
<html> <head> </head> <body> <script type="text/javascript"> var palabra=prompt('Ingrese una palabra',''); var patron=/[aeiouAEIOUáéíóú]/; if (patron.test(palabra)) alert('La palabra tiene al menos una vocal'); else alert('La palabra no tiene vocales'); </script> </body> </html>
Ahora nuestra expresión regular queda especificada como:
var patron=/[aeiouAEIOUáéíóú]/;
El método test retorna true si ingresamos alguna de las siguientes palabras:
casa madre salir
En cambio retorna false si ingresamos:
pbt
Cuando tenemos que buscar en el string alguno de los caracteres que
tienen un significado especial en las expresiones regulares '^ $. * +?
=! : | \ / () [] {} ' debemos escaparlos a algunos dentro de los
corchetes.
problema
Ingresar una oración por teclado y luego mostrar un mensaje si el
string ingresado contiene al menos uno de los caracteres que son un
comando o metacaracter para las expresiones regulares:
<html> <head> </head> <body> <script type="text/javascript"> var oracion=prompt('Ingrese una oracion',''); var patron=/[\^$.*+?=!:|\\/()\[\]{}]/; if (patron.test(oracion)) alert('La oración tiene al menos un carácter ^ $. * +? =! : | \ / () [] {}'); else alert('La oración no tiene ningún carácter ^ $. * +? =! : | \ / () [] {}'); </script> </body> </html>
Se verifica verdadero el método test si ingresamos:
La tarde estaba soleada!
Se verifica falso el método test si ingresamos:
La tarde estaba soleadaproblema
Ingresar todos los caracteres con significada especial en las
expresiones regulares en el siguiente orden: ^$.*+?=!:|\/()[]{} (es
necesario escapar todos los metacaracteres):
<html> <head> </head> <body> <script type="text/javascript"> var cadena=prompt('Ingrese esos caracteres especiales para expresiones regulares en este mismo orden: ^$.*+?=!:|\/()[]{} ',''); var patron=/^\^\$\.\*\+\?\=\!\:\|\\\/\(\)\[\]\{\}$/; if (patron.test(cadena)) alert('Orden correcto'); else alert('Incorrecto'); </script> </body> </html>
No hay comentarios.:
Publicar un comentario