M06 UF1Q4. Expressions regulars
Introducció
A classe hem estat veient la teoria d'expressions regulars:
Desenvolupament
Anem a fer l'exemple del codi postal. Una primera aproximació, que serà bàsicament correcta, serà:
var re = /\d{5}/;
Hem de comprovar la nostra expressió regular amb un joc de proves complet:
> cp.test(23434) true > cp.test(234344) true > cp.test(2343) false
Per tant, amb el joc de proves complet hem detectat un error, i s'ha de millorar. Per exemple:
var re = /^\d{5}$/;
> cp.test(23434)
true
> cp.test(234344)
false
> cp.test(2343)
false
També:
> cp2.test('23434')
true
> cp2.test('asddf')
false
D'aquí la importància de fer els jocs de proves complerts. Això enllaçarà amb el que explicarem properament sobre la necessitat de fer tests unitaris.
Tasques a realitzar
1. Programa un script per testejar si el primer caràcter d'una cadena és majúscula o no.
2. Programa un script per comprovar el número de la targeta de crèdit.
3. Escriu un patró que trobi (match) les adreces de correu electrònic. The personal information part contains the following ASCII characters.
- evidentment, caràcter @
- lletres majúscules i minúscules.
- dígits (0-9).
- caràcters no permesos: # $ % & ' * + - / = ? ^ ` { | } ~. nota: aquesta condició despista una mica. El que ens volen dir és que podem utilitzar els caràcters normals (\w)
- punt (.). No pot estar al principi ni al final, que no hi hagi dos punts seguits, i que no estigui després de l'arroba
4. Programa un script per cercar una data dins d'una cadena (format dd/mm/yyyy).
5. Programa una funció de Javascript que funcioni com la funció trim dels String, però utilitzant expressions regulars.
6. Programa un script que compti el número de paraules dins una cadena (amb expressions regulars).
- Elimina els espais en blanc al principi i al final de la cadena.
- Converteix 2 o més espais en un de sol.
- reemplaça els retorns de carro (newline) amb un espai en blanc.
7. Programa una funció que comprovi si una IP té el format vàlid.
8. Programa una funció que compti el número de vocals que té una cadena.
9. Programa una funció que comprovi si una URL té el format vàlid o no.
10. Programa una funció que comprovi si una cadena és alfanumèrica.
11. Programa una funció que comprovi si una cadena té el format de temps: HH:MI:SS.
12. Programa una funció que comprovi si una cadena té el format de codi postal (per ex, 08025, 5 dígits).
13. Programa una funció que comprovi si una cadena té el format de NIF.
14. Programa una funció que comprovi si una cadena té el format de número de la seguretat social.
Entrega
Entrega al Classroom, en format pdf o google docs, dels codis generats i dels resultats obtinguts.
Hauràs de fer un joc de proves complert de cada cas.
Ajuda
creat per Joan Quintana Compte, octubre 2021