@rthur Posted September 13, 2023 Share Posted September 13, 2023 (edited) 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 : 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 September 13, 2023 by @rthur (see edit history) Link to comment Share on other sites More sharing options...
wepresta Posted September 13, 2023 Share Posted September 13, 2023 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 : 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; } 1 Link to comment Share on other sites More sharing options...
@rthur Posted September 13, 2023 Author Share Posted September 13, 2023 1 hour ago, wepresta said: Bonjour, Essaye ca : public static function isPhoneNumber($number) { return preg_match('/^[+0-9. ()-]*$/', $number) && Tools::strlen($number) == 10; } Merci mais non meme erreur Link to comment Share on other sites More sharing options...
wepresta Posted September 13, 2023 Share Posted September 13, 2023 7 minutes ago, @rthur said: Merci mais non meme erreur Avez-vous modifié le fichier address.php récemment ? Link to comment Share on other sites More sharing options...
@rthur Posted September 13, 2023 Author Share Posted September 13, 2023 3 minutes ago, wepresta said: Avez-vous modifié le fichier address.php récemment ? Non pas dans mes souvenirs Link to comment Share on other sites More sharing options...
wepresta Posted September 13, 2023 Share Posted September 13, 2023 22 minutes ago, @rthur said: Non pas dans mes souvenirs Il faut dump $address avant le process pour voir ce que vous lui envoyez... a voir si c'est bien un integer etc... 1 Link to comment Share on other sites More sharing options...
@rthur Posted September 14, 2023 Author Share Posted September 14, 2023 23 hours ago, wepresta said: Il faut dump $address avant le process pour voir ce que vous lui envoyez... a voir si c'est bien un integer etc... Cette variable $address n'existe pas au niveau du formulaire Link to comment Share on other sites More sharing options...
wepresta Posted September 14, 2023 Share Posted September 14, 2023 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 More sharing options...
@rthur Posted September 14, 2023 Author Share Posted September 14, 2023 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 More sharing options...
wepresta Posted September 14, 2023 Share Posted September 14, 2023 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; } Link to comment Share on other sites More sharing options...
@rthur Posted September 14, 2023 Author Share Posted September 14, 2023 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 More sharing options...
wepresta Posted September 14, 2023 Share Posted September 14, 2023 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 More sharing options...
@rthur Posted September 14, 2023 Author Share Posted September 14, 2023 1 minute ago, wepresta said: Ils sont retourner en false juste avant ! if (!preg_match('/^[+0-9. ()\/-]*$/', $number)) { return false; } Non je viens de tester avec un . dans le numéro et ca passe sans erreur Link to comment Share on other sites More sharing options...
wepresta Posted September 14, 2023 Share Posted September 14, 2023 Je pense que ce preg match fonctionne : '/^\+?\d{1,3}-?\d{3,14}$/' Link to comment Share on other sites More sharing options...
@rthur Posted September 15, 2023 Author Share Posted September 15, 2023 Non ça génère une erreur Link to comment Share on other sites More sharing options...
wepresta Posted September 15, 2023 Share Posted September 15, 2023 27 minutes ago, @rthur said: Non ça génère une erreur Vous pouvez vous aider de ChatGPT pour générer une expression régulière 1 Link to comment Share on other sites More sharing options...
@rthur Posted September 15, 2023 Author Share Posted September 15, 2023 5 minutes ago, wepresta said: Vous pouvez vous aider de ChatGPT pour générer une expression régulière ahah bien vu je vais essayer 😉 Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now