phpretard Posted March 24, 2009 Share Posted March 24, 2009 I am validating phone numbers. I have to validate 3. Do I need to copy this function 3 times or is there an easier way with less code? $Phone="1234567890"; $AltPhone="0987654321"; $Fax="6543219870"; It works great for one! function Phone($Phone) { $stripped= preg_replace("/[^0-9]/", "", $Phone); if(strlen($stripped) == 7) return preg_replace("/([0-9]{3})([0-9]{4})/", "$1-$2",$stripped); elseif(strlen($stripped) == 10) return preg_replace("/([0-9]{3})([0-9]{3})([0-9]{4})/", "($1) $2-$3",$stripped); else return $Phone; } Thank you! Quote Link to comment Share on other sites More sharing options...
trq Posted March 24, 2009 Share Posted March 24, 2009 You need to call the function 3 times, not copy it. Quote Link to comment Share on other sites More sharing options...
phpretard Posted March 24, 2009 Author Share Posted March 24, 2009 Like this? <?php echo Phone($Phone); ?> <?php echo Phone($AltPhone); ?> <?php echo Phone($Fax); ?> Quote Link to comment Share on other sites More sharing options...
trq Posted March 24, 2009 Share Posted March 24, 2009 Indeed, or you could use a loop. foreach (array("1234567890", "0987654321", "6543219870") as $phno) { echo Phone($phno); } Really no need though. Quote Link to comment Share on other sites More sharing options...
phpretard Posted March 24, 2009 Author Share Posted March 24, 2009 Thanks a million! I chose not to use the array but it worked both ways. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.