|
Forum |
|
Réagissez
dans les forums
de JDN Développeurs
|
Les méthodes de développement intègrent de plus en plus souvent
la notion de tests unitaires, où une classe/méthode n'est créée
que lorsqu'une batterie de tests a été mise en place pour
vérifier qu'elle travaille bien comme on l'attend.
Il est
possible de répliquer ce type de manoeuvre de manière plus simple
pour mettre à l'épreuve une expression régulière, avant de la
lâcher au coeur de l'application.
La technique est élémentaire :
introduire dans un tableau un nombre de chaînes que l'expression
reconnaîtra ou pas, tester l'expression contre chaque contenu
de cette chaîne, afficher le résultat pour chaque test afin
de vérifier que tout se déroule normalement.
Il est bien entendu aussi important de tester des chaînes qui
marcheront forcément, que d'autres qui ne marcheront forcément
pas, afin de s'assurer au maximum de la bonne portée de l'expression.
Cette méthode s'applique facilement à tous les langages, voici
comment s'y prendre pour un test d'adresse e-mail en PHP.
Le code
<style>
.bon {
color: green;
}
.mauvais {
color: red;
}
</style>
<?php
$tests = array(
"borderie@bench.fr",
"xavier@bor.org",
"x@b.net",
"http://borderie.lalala",
"kokçigrü@plou_pouding point comme",
"http://lapin@malin.com",
"mailto:hohoho@hahaha.huhu",
"gkdfjhgkdjhg@skjqhfuerhjiusngkdjgdgsdmlgkdsjg.nu"
);
$regexp = "/^[a-z0-9]+([_\\.-][a-z0-9]+)*@([a-z0-9]+([\.-][a-z0-9]+)*)+\\.[a-z]{2,}$/i";
foreach ($tests as $test) {
if (preg_match($regexp, $test)) {
echo "<span class='bon'>$test</span><br
/>";
}
else {
echo "<span class='mauvais'>$test</span><br
/>";
}
}
?> |