IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

regex numéro de téléphone mysql [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Décembre 2018
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2018
    Messages : 141
    Points : 73
    Points
    73
    Par défaut regex numéro de téléphone mysql
    Bonjour,

    Je ne comprends pas mon erreur... mon regex est bon quand je le teste dans mon IDE, mais incorrect quand je l'utilise en tant que trigger dans ma DB.
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    	IF NEW.`numero` NOT REGEXP '^04[0-9]{8}|056[0-9]{6}$' THEN
    		SIGNAL SQLSTATE VALUE '45000'
    			SET MESSAGE_TEXT = 'Le numéro doit commencer par 04 ou 056 et ne doit pas contenir de caractères spéciaux';
    	END IF;
    Le voici en mysql

    La syntaxe diffère pour des INT en mysql?
    (oui oui, dans un premier temps je ne fais pas attention aux espaces, points, ... qui pourraient être entrés par l'utilisateur^^)
    Merci^^

  2. #2
    Membre régulier
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Décembre 2018
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2018
    Messages : 141
    Points : 73
    Points
    73
    Par défaut
    Hmm..

    Il semblerait que dans la base de données, si le numéro commence par 0, le 0 est effacé et ce n'est donc plus correct par rapport à la regex...

    j'ai modifié le type de la colonne de INT à VARCHAR

  3. #3
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 858
    Points : 6 556
    Points
    6 556
    Par défaut
    En effet les regex c'est pour les chaînes de caractères. Mais ta pattern n'en est pas moins fausse, car les ancres de début ^ et de fin $ de chaîne ne sont pas en facteur avec tes deux alternatives (la première a l'ancre de début et la deuxième l'ancre de fin, par contre la première n'a pas d'ancre de fin et la deuxième pas d'ancre de début). Une version corrigée pourrait être:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ^04[0-9]{8}$|^056[0-9]{6}$
    Brachygobius xanthozonus
    Ctenobrycon Gymnocorymbus

  4. #4
    Membre régulier
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Décembre 2018
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2018
    Messages : 141
    Points : 73
    Points
    73
    Par défaut
    Merci, très intéressante comme remarque, j'en prends note pour mes prochaines regex

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 17/01/2013, 16h01
  2. [REGEX] Numéro de téléphone OU saisie vide
    Par Julien Bodin dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 28/12/2010, 10h21
  3. [RegEx] validation d'un numéro de téléphone par regex
    Par laurentSc dans le forum Langage
    Réponses: 5
    Dernier message: 20/12/2010, 22h22
  4. [Regex] Verifier la validité d'un numéro de téléphone?
    Par pracede2005 dans le forum Collection et Stream
    Réponses: 6
    Dernier message: 30/07/2009, 11h35
  5. regex pour recupérer numéro de téléphone
    Par Jérémy Lefevre dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 03/09/2008, 12h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo