Expresiones Regulares en JavaScript
var miRegex = /JavaScript/;La expresión regular que se muestra en el ejemplo anterior, hará coincidir con la cadena "JavaScript" en cualquier lugar que aparezca dentro de otra cadena.
Por ejemplo, la expresión regular coincidiría en la frase
- "Este es un curso acerca de JavaScript"
- "EstecursoacercadeJavaScriptesgenial"
- "Este es un curso acerca de javascript"
A continuación veremos con mayor detalle las Expresiones Regulares.
El conocimiento que obtenga aquí le preparará para el resto de los cursos, ya que le ayuda no sólo a entender cómo trabajar con cadenas en JavaScript, sino también entender cómo usar expresiones regulares en otros idiomas.
En esta sección se proporciona una referencia para la sintaxis de expresiones regulares.
La sintaxis de las expresiones regulares
Carácter
|
Texto buscado
|
^
|
Principio de entrada o línea.
|
$
|
Fin de entrada o línea.
|
*
|
El carácter anterior 0 o más veces.
|
+
|
El carácter anterior 1 o más veces.
|
?
|
El carácter anterior una vez como
máximo (es decir, indica que el carácter anterior es opcional).
|
.
|
Cualquier carácter individual,
salvo el de salto de línea.
|
x|y
|
x o y.
|
{n}
|
Exactamente n apariciones del
carácter anterior.
|
{n,m}
|
Como mínimo n y como máximo m
apariciones del carácter anterior.
|
[abc]
|
Cualquiera de los caracteres entre
corchetes. Especifique un rango de caracteres con un guión (por ejemplo,
[a-f] es equivalente a [abcdef]).
|
[^abc]
|
Cualquier carácter que no esté
entre corchetes. Especifique un rango de caracteres con un guión (por
ejemplo, [^a-f] es equivalente a [^abcdef]).
|
\b
|
Límite de palabra (como un espacio
o un retorno de carro).
|
\B
|
Cualquiera que no sea un límite de palabra.
|
\d
|
Cualquier carácter de dígito.
Equivalente a [0-9].
|
\D
|
Cualquier carácter que no sea de
dígito. Equivalente a [^0-9].
|
\f
|
Salto de página.
|
\n
|
Salto de línea.
|
\r
|
Retorno de carro.
|
\s
|
Cualquier carácter individual de
espacio en blanco (espacios, tabulaciones, saltos de página o saltos de
línea).
|
\S
|
Cualquier carácter individual que
no sea un espacio en blanco.
|
\t
|
Tabulación.
|
\w
|
Cualquier carácter alfanumérico,
incluido el de subrayado. Equivalente a [A-Za-z0-9_].
|
\W
|
Cualquier carácter que no sea
alfanumérico. Equivalente a [^A-Za-z0-9_].
|
- El modificador i especifica que la expresión regular debe ser analizada de una manera sensible a las mayúsculas
- El modificador g indica que el análisis debe continuar después del primer partido, a veces llamado global (de ahí la g).
- El modificador m se utiliza para la coincidencia de varias líneas.
Por ejemplo, analicemos una URL:
var miString = "http://www.scriptbc.com"; var miRegex = /http:\/\/\w+\.(.*)/i; var resultado = miRegex.exec(miString); alert(resultado[1]);Lo que veremos en el navegador será:
var miString = "http://www.scriptbc.com";
Esto es seguido por la declaración de la expresión regular y luego una llamada a los métodos exec(método), que analiza la expresión regular con la cadena que se encuentra en miString y coloca los resultados en una variable denominada resultado.
var miRegex = /http:\/\/\w+\.(.*)/i;
var resultado = miRegex.exec(myString);
La expresión regular contiene varios elementos importantes. - Comienza a buscar la cadena http:
- Luego tenemos que escapar las dos barras diagonales (\/\/), con los contraslash, ya que como las barras diagonales son caracteres especiales es necesario escaparas.
- A este punto ya tenemos (http://)
- La siguiente parte de la expresión regular, \ w, busca cualquier carácter alfanumérico único.
- Las direcciones web son típicamente www.
- Así que no se confundan en el pensamiento de que la expresión está en busca de tres w-
- Debido a que \ w concuerda con cualquier carácter individual, y los servidores web suelen tener tres caracteres (www).
- La expresión regular agrega un carácter + especial para indicar que la expresión regular debe encontrar un carácter alfanumérico al menos una vez y, posiblemente, más de una vez.
- Así que ahora el código tiene http: \ / \ / \ w + , lo que coincide con la dirección http://www hasta la parte scriptbc.com
- Es necesario tener en cuenta que el carácter de punto entre el nombre de host (www) y el nombre de dominio (scriptbc.com).
- Esto se logra mediante la adición de un carácter de punto (.)pero como el punto es también un carácter especial, tiene que escapar con \.
- Usted tiene ahora http: \ / \ / \ w + \. , lo que coincide con todos los elementos de una dirección típica hasta el nombre de dominio.
- Por último, es necesario capturar el dominio y usarlo después, la parte de dominio corresponde a lo que se encuentra entre parentesis (.*).
- Ya que el contenido del dominio no importa, lo que debemos hacer es:
- Colocar un punto, para que coincida con cualquier carácter
- Y colocar un asterisco , para que coincida con todos y cada uno de los caracteres anteriores anteriores, que es cualquier carácter en este ejemplo.
- Uno se queda con la expresión regular final, que es utilizado por el método exec().
- El resultado se coloca en la variable de resultado.
- También tenga en cuenta el uso del modificador i, para indicar que la expresión regular será analizado de una manera sensible a las mayúsculas.
En el ejemplo mostrado, el segundo elemento de la matriz (1) se envía a una alerta, que produce el resultado que se muestra en la figura anterior.
var results = miRegex.exec(miString);
alert(results[1]);
Eso es mucho para digerir, y admito que esta expresión regular puede ser enormemente mejorada con la adición de otros caracteres.Este es un ejemplo, de muchos que iremos viendo, como le mencione en un inicio, las expresiones regulares son mucho estudio, y aun faltan mas métodos.
Finalmente veremos algunos ejemplos, que son de uso frecuente, y poco a poco los iremos explicando paso a paso, no desespere y quedese con nosotros en Script BC.
Expresión Regular
|
|
Cualquier letra en minuscula
|
[a-z]
|
Entero
|
^(?:\+|-)?\d+$
|
Correo electrónico
|
/[\w-\.]{3,}@([\w-]{2,}\.)*([\w-]{2,}\.)[\w-]{2,4}/
|
URL
|
^(ht|f)tp(s?)\:\/\/[0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*(:(0-9)*)*(\/?)(
[a-zA-Z0-9\-\.\?\,\'\/\\\+&%\$#_]*)?$
|
Contraseña segura
|
(?!^[0-9]*$)(?!^[a-zA-Z]*$)^([a-zA-Z0-9]{8,10})$
(Entre 8 y 10 caracteres, por lo menos un digito y un alfanumérico, y no puede contener caracteres espaciales) |
Fecha
|
^\d{1,2}\/\d{1,2}\/\d{2,4}$
(Por ejemplo 01/01/2007) |
Hora
|
^(0[1-9]|1\d|2[0-3]):([0-5]\d):([0-5]\d)$
(Por ejemplo 10:45:23) |
Número tarjeta de crédito
|
^((67\d{2})|(4\d{3})|(5[1-5]\d{2})|(6011))(-?\s?\d{4}){3}|(3[4,7])\
d{2}-?\s?\d{6}-?\s?\d{5}$
|
Número teléfono
|
^[0-9]{2,3}-? ?[0-9]{6,7}$
|
Código postal
|
^([1-9]{2}|[0-9][1-9]|[1-9][0-9])[0-9]{3}$
|
Certificado Identificación Fiscal
|
^(X(-|\.)?0?\d{7}(-|\.)?[A-Z]|[A-Z](-|\.)?\d{7}(-|\.)?
[0-9A-Z]|\d{8}(-|\.)?[A-Z])$
|
Si te hemos ayudado : )
Te agradeceríamos que apoyaras este proyecto
en:

0 comentarios:
Publicar un comentario