david.marks Posted July 19, 2006 Share Posted July 19, 2006 I am trying to employ a common regex for password verification in PHP 5.0.5. The goal is to simply reject passwords that don't meet the length requirement of 8-25 characters, and that don't have at least one each of numbers, upper case and lower case letters.I grabbed this example from a regex reference site:("^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,25}$My code looks like this:if (!eregi("^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,25}$",$password) {//do something}This gives me the following error:"Warning: eregi() [function.eregi]: REG_BADRPT..."The problem seems to be with the ?= lookahead operator. All references suggest this is valid code, but PHP seems to choke on it. Other regex seem to work fine, so I'm at a loss.Can any experts offer any ideas? Thanks in advance.- David Marks Quote Link to comment Share on other sites More sharing options...
effigy Posted July 19, 2006 Share Posted July 19, 2006 You must use preg_* functions in order to use lookarounds. Quote Link to comment Share on other sites More sharing options...
david.marks Posted July 19, 2006 Author Share Posted July 19, 2006 Excellent! Thank you for the prompt reply.I haven't needed preg_ functions until now. I stumbled around there for a while until I figured out that the expression needed proper delimiters. I am up and running now.Thanks again!! I'd still be lost without your assistance. 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.