regexp

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : regexp

par Pascal » 24 févr. 2005, 18:14

Autant pour moi, j'avais oublié le ! devant "preg_match".
Maintenant ça marche!
1000 x merci Ripat je galèrais depuis ce matin!

par Ripat » 24 févr. 2005, 17:46

$champ4='07 21 25 21 54';
if (!preg_match('#^0[1-68](?:[-_ ][0-9]{2}){4}$#', $champ4)){
  echo 'pas bon';
}else{
  echo 'bon';
}
Chez moi retourne 'pas bon'. Ainsi que les numéros à 11 chiffres :wink:

par Pascal » 24 févr. 2005, 17:27

Dans ce cas il n'y a effectivement plus d'erreurs mais un numéro en 07 ... ou comportant 11 chiffres est accepté!

par Ripat » 24 févr. 2005, 17:18

Dans ce cas ton intervalle du préfixe n'est pas correct. Si tu utilises ereg il te renvoie une erreur d'intervalle.

Essaye avec preg_match. Il ne devrait pas te donner d'erreur. Mais il me semble qu'il y a une erreur plus loin dans ton motif.

Essaye
preg_match('#^0[1-68](?:[-_ ][0-9]{2}){4}#', $champ4)

par Pascal » 24 févr. 2005, 17:12

Je veux valider les numéros français fixes ou mobiles du type:
01 12 13 14 15
02 ....
03...
04
05
06 ou
08 ....

par Ripat » 24 févr. 2005, 17:04

Ce n'est pas ce qu'Enisseo veut dire. Range en anglais veut dire intervalle. Ce n'est pas le quantifieur {1} qui est en cause.

Donne des exemples de numéro à valider.

par Pascal84 » 24 févr. 2005, 17:01

j'ai essayé en retirant {1} mais le message est identique!

par Enisséo » 24 févr. 2005, 16:55

A tout hasard [1-68]{1} me parait bizarre

regexp

par Pascal84 » 24 févr. 2005, 15:47

Bonjour,

J'ai un problème pour vérifier la saisie d'un numéro de téléphone dans un formulaire.
J'utilise une expression régulière :

if ( ! ereg("^0[1-68]{1}(([_- ][0-9]){2}){4}$",$champ4))
{
$message4.="Votre numéro de téléphone doit être constitué de 10 chiffres : "
.ereg_replace ("^0([1-68]{1})((([_- ][0-9]){2}){4})$","*",$champ4)
."<br>";
mais ca ne marche pas!
j'ai le message :
Warning: ereg(): REG_ERANGE in /home/users/p/pascal/www/WebConcept/formwebconcept.php3 on line 93

Warning: ereg_replace(): REG_ERANGE in /home/users/p/pascal/www/WebConcept/formwebconcept.php3 on line 96
Comment régler ce problème ?