Jump to content

eregi() chokes on (?= lookahead


david.marks

Recommended Posts

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
Link to comment
Share on other sites

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.
Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.