Jump to content

Impossible de formater le numéro de tel


Recommended Posts

Bonjour,

Sur Presta 1.7.5, j'essaie de formater le numéro de tel lors de l'inscription mais ça me génère une erreur :

Capturedecran2023-09-13a12_05_52.thumb.png.528f55091061c4d65ae41d3994a724d6.png

J'utilise ce code : 

    public static function isPhoneNumber($number)
    {
        preg_match('/^[+0-9. ()-]*$/', $number);
		return Tools::strlen($number) == 10 ;
    }

 

Une idée du souci ?

Merci

Edited by @rthur (see edit history)
Link to comment
Share on other sites

10 minutes ago, @rthur said:

Bonjour,

Sur Presta 1.7.5, j'essaie de formater le numéro de tel lors de l'inscription mais ça me génère une erreur :

Capturedecran2023-09-13a12_05_52.thumb.png.528f55091061c4d65ae41d3994a724d6.png

J'utilise ce code : 

    public static function isPhoneNumber($number)
    {
        preg_match('/^[+0-9. ()-]*$/', $number);
		return Tools::strlen($number) == 10 ;
    }

 

Une idée du souci ?

Merci

Bonjour,

Essaye ca

public static function isPhoneNumber($number)
{
    return preg_match('/^[+0-9. ()-]*$/', $number) && Tools::strlen($number) == 10;
}

 

  • Like 1
Link to comment
Share on other sites

21 minutes ago, @rthur said:

Cette variable $address n'existe pas au niveau du formulaire 

J'ai dit ceci en exemple ; c'est peut-être $object ou autre chose, je ne sais pas du tout ce que vous essayez de faire. En tout cas, vous essayez d'ajouter un $phone à l'objet address, ça c'est sûr...

Link to comment
Share on other sites

Just now, wepresta said:

J'ai dit ceci en exemple ; c'est peut-être $object ou autre chose, je ne sais pas du tout ce que vous essayez de faire. En tout cas, vous essayez d'ajouter un $phone à l'objet address, ça c'est sûr...

Il ne me semble pas j'essaie juste de formater le numéro de téléphone en utilisant la variable existante $number

Ceci est le code d'origine dans classes/validate.php

    public static function isPhoneNumber($number)
    {
        return preg_match('/^[+0-9. ()\/-]*$/', $number);
    }

et ce que j'essaie de faire :

public static function isPhoneNumber($number)
    {
        preg_match('/^[+0-9. ()-]*$/', $number);
		return Tools::strlen($number) == 10 ;
    }

 

Link to comment
Share on other sites

24 minutes ago, wepresta said:

Essayez ca : 

 

public static function isPhoneNumber($number)
{
    if (!preg_match('/^[+0-9. ()\/-]*$/', $number)) {
        return false;
    }

    $digitsOnly = preg_replace('/[^0-9]/', '', $number);

    if (strlen($digitsOnly) === 10) {
        return true; 
    }

    return false; 
}

 

Merci l'erreur semble disparaitre mais comment empêcher les espaces et autres caractères dans cette expression ?

    $digitsOnly = preg_replace('/[^0-9]/', '', $number);


Merci

Link to comment
Share on other sites

9 minutes ago, @rthur said:

Merci l'erreur semble disparaitre mais comment empêcher les espaces et autres caractères dans cette expression ?

    $digitsOnly = preg_replace('/[^0-9]/', '', $number);


Merci

Ils sont retourner en false juste avant ! if (!preg_match('/^[+0-9. ()\/-]*$/', $number)) { return false; }

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...