Diferencia entre revisiones de «Usuario:Juanda/javascript/ExpReg»

De WikiEducator
Saltar a: navegación, buscar
Línea 56: Línea 56:
 
===Algunos ejemplos útiles===
 
===Algunos ejemplos útiles===
 
*Número de teléfono nacional, sin espacios
 
*Número de teléfono nacional, sin espacios
'''/^\d{9}$/'''  
+
'''/^\d{9}$/''' <br>
'''/^[0-9]{9}$/'''
+
'''/^[0-9]{9}$/'''<br>
 
Comienza (^) por una cifra numérica (\d) de la que habrá 9 ocurrencias ({9}) y aquí acabará la cadena ($).
 
Comienza (^) por una cifra numérica (\d) de la que habrá 9 ocurrencias ({9}) y aquí acabará la cadena ($).
  
Línea 67: Línea 67:
  
 
*e-mail
 
*e-mail
'''/^(.+\@.+\..+)$/'''
+
'''/^(.+\@.+\..+)$/'''<br>
 
Comienza (^) por caracteres cualesquiera que no sean salto de línea (.) de los que habrá al menos una ocurrencia(+).
 
Comienza (^) por caracteres cualesquiera que no sean salto de línea (.) de los que habrá al menos una ocurrencia(+).
 
Después el carácter arroba (\@), seguido de al menos un carácter que no podrá ser el salto de línea (.+),
 
Después el carácter arroba (\@), seguido de al menos un carácter que no podrá ser el salto de línea (.+),

Revisión de 09:07 3 oct 2012



Expresiones Regulares

Definición de expresiones regulares

  • Las expresiones regulares son una forma de describir cadenas de caracteres que sirven para comparaciones y reemplazos complejos.
  • Están basadas en las expresiones regulares de Perl y se representan por el objeto RegExp (REGular EXPresion).
var patron = /pato/;
var patron = new RegExp(“pato”);

Presenta tres métodos: test(), exec() y compile():

var patt1=new RegExp("e");
document.write(patt1.exec("The best things in life are free"));  		
//como hay una “e” en la cadena, la salida de la sentencia será 'e'.
 
var patt1=new RegExp("e");
document.write(patt1.test("The best things in life are free"));  		
//como hay una “e” en la cadena, la salida de la sentencia será true
  • Tiene varias propiedades: ignoreCase, lastMatch...
  • Múltiples modificadores:
^ Indicar coincidencia al principio de la cadena
$ Indicar coincidencia al final de la cadena.
var cadena = /alumn[ao]/; //buscaría tanto alumno como alumna
var cadena = /alumno[0-9]/; //bucaría alumno0, alumno1, … hasta alumno9
var cadena = /alumno[0-9a-zA]/; //Formaría cadenas como alumno5, alumnor o alumnoA

+ indica que lo que tiene a su izquierda puede estar 1 o mas veces.
* indica que puede estar 0 o mas veces
? indica opcionalidad, es decir, lo que tenemos a la izquierda puede aparecer 0 o 1 vez.
{3} Indicar exactamente el número de veces que puede aparecer (3 en este caso).
\d un dígito. Equivale a [0-9]
\D cualquier caracter que no sea un dígito.
\w Cualquier carácter alfanumérico. Equivalente a [a-zA-Z0-9_].
\W cualquier carácter no alfanumérico
\s espacio
\t tabulador


Algunos ejemplos útiles

  • Número de teléfono nacional, sin espacios

/^\d{9}$/
/^[0-9]{9}$/
Comienza (^) por una cifra numérica (\d) de la que habrá 9 ocurrencias ({9}) y aquí acabará la cadena ($).

  • Fecha con formato dd/mm/yyyy

/^\d{2}\/\d{2}\/\d{4}$/

  • Código postal

^\d{5}$/

  • e-mail

/^(.+\@.+\..+)$/
Comienza (^) por caracteres cualesquiera que no sean salto de línea (.) de los que habrá al menos una ocurrencia(+). Después el carácter arroba (\@), seguido de al menos un carácter que no podrá ser el salto de línea (.+), después viene el carácter punto (\.), seguido de al menos un carácter donde ninguno podrá ser el salto de línea (.+), y aquí acabará la cadena ($).