J'ai un formulaire utilisateur où je prends un numéro de téléphone en entrée dans un de mes champs. J'ai deux instructions RegEx séparées qui vérifient l'entrée.preg_replace dans mon script PHP ne fonctionne pas
La première est:
preg_match('/^([\(]{1}[0-9]{3}[\)]{1}[\.| |\-]{0,1}|^[0-9]{3}[\.|\-| ]?)?[0-9]{3}(\.|\-|)?[0-9]{4}$/', $phone);
et il fonctionne très bien. Il peut identifier de nombreux formats différents à savoir 222-333-4444 ou 2224445555.
D'autre part lorsque je tente:
preg_replace('/\+?1?[-\s.]?\(?(\d{3})\)?[-\s.]?(\d{3})[-\s.]?(\d{4})/g', '($1) $2-$3', $phone);
qui est censé chaîne de format entrant dans (222) 333-4444 format, $ phone est inchangé après l'appel preg_replace().
Toute aide sera grandement appréciée!
Je ne suis pas sûr que vous voulez que vos valeurs $ dans le texte de remplacement de cette façon. Vous avez 4 groupes de capture, vous référencez 3. Le dernier ne devrait-il pas être 4 $? – kapa
@bazmegakapa quand je branche ce modèle montré dans le preg_replace dans http://gskinner.com/RegExr/ cela fonctionne parfaitement. Mon problème est dans le script PHP. Je dois faire quelque chose de mal là-bas. – incognito