TripleDES Posted June 6, 2007 Share Posted June 6, 2007 Please help with with this regex. I need to match the first string as Z followed by 3-5 numbers. Z1 - Match Z12 - Match Z1234 - Match zZ123 - No Match This expression seems to work well except for the last example. How do I filter out characters before Z? Or...how do I enforce Z as the first character? /\b[Z][0-9]{3,5}/ Thanks! Quote Link to comment Share on other sites More sharing options...
obsidian Posted June 6, 2007 Share Posted June 6, 2007 The carrot designates the beginning of a line, so you'll want something like this: /^Z\d{3,5}/ If you are wanting the 3-5 digits to be the end of the string, so you don't have people validating something like Z12345asd or Z1234561, you'll need to add the end string as well: /^Z\d{3,5}\z/ Good luck. Quote Link to comment Share on other sites More sharing options...
TripleDES Posted June 6, 2007 Author Share Posted June 6, 2007 I initially had this: if ((strpos($val,"Z") == 0) AND (preg_match("/^[Z][0-9]{3,5}$/",$val))) { Then, settled with: /^[Z][0-9]{3,5}$/ Thanks for your help! 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.