Bonjour,
Je souhaite vérifier la validité d'un nom de domaine sans l’extension.
Après de nombreuses recherche sur le net, tout ce que j'ai touvé ne me convenais pas.
Voici donc ce que j'ai fait :
Les impératifs :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 <?php $data = array( '487-chiffre-lettres-et-tiret', 'lettres-et-tiret', 'EN-MAJUSCULE', 'lettreschiffre412', 'arobase@lettres', '-commence-par-tiret', 'ee', 'eedds', 'fini-par-tiret-', 'navec_des_underscore' ); $pattern = '`^[a-z0-9][a-z0-9-]*[a-zA-Z0-9]+$`'; foreach($data as $test) { $longueur_chaine = strlen($test); if ($longueur_chaine >= 3 ) { if (preg_match($pattern,$test)) { echo "<p>".$test." --> OK</p>"; } else { echo "<p>".$test." --> Pas OK</p>"; } } else { echo "<p>".$test." --> Trop court</p>"; } } ?>
La longueur de la chaine ne peut être inférieure à 3 caractères
Les lettres sans accents, les chiffres et le caractère - peuvent être utilisés.
Ne peut pas commencer ou finir par -
Ne peut pas contenir un point (.)
Le caractère espace est interdit
Doit être en minuscules
Mes questions :
- Mon regex vous parait-il correct ?
- Puis vérifier dans mon regex la longueur de la chaine (sans passer par strlen) ?
Merci d'avances de vos réponses
Partager