jini01 Posted July 9, 2007 Share Posted July 9, 2007 $returnValue=preg_replace("/[^0-9 \d]/i", "", $text); I am trying for the user to be only able to input numbers. I dont understand the \d or /i please someone explain that to me. thanks Quote Link to comment Share on other sites More sharing options...
Yesideez Posted July 9, 2007 Share Posted July 9, 2007 \d means any number between 0 and 9. The /i is a flag to turn case sensitivity off so "Cat" is treated the same as "cat" Quote Link to comment Share on other sites More sharing options...
Yesideez Posted July 9, 2007 Share Posted July 9, 2007 $returnValue=preg_replace("/[^0-9 \d]/i", "", $text); I can't see anything being replaced there as you're not grabbing a group. Quote Link to comment Share on other sites More sharing options...
jini01 Posted July 9, 2007 Author Share Posted July 9, 2007 What do you mean by group ? Sorry im not that proficient with preg replace Quote Link to comment Share on other sites More sharing options...
MadTechie Posted July 9, 2007 Share Posted July 9, 2007 here what the code should look like $returnValue = preg_replace('/[^\d]/', '', $text); replace whats NOT (^) digits(\d) with nothing ('') Quote Link to comment Share on other sites More sharing options...
jini01 Posted July 9, 2007 Author Share Posted July 9, 2007 youre bad ass thanks man Quote Link to comment Share on other sites More sharing options...
Wildbug Posted July 9, 2007 Share Posted July 9, 2007 $returnValue=preg_replace("/[^0-9 \d]/i", "", $text); Note that there is also a space (' ') in the original code. If that's correct, and you wish to maintain that functionality, you should also include it in MadTechie's example: $returnValue = preg_replace('/[^\d ]/', '', $text); Then it will only keep digits and spaces. 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.