Easy ereg() question

Do you have a question? Post it now! No Registration Necessary.  Now with pictures!

Threaded View
I'm trying to make sure a form has only one or two digits in either of
two fields.
I looked at php.net and
http://www.regular-expressions.info/reference.html and this is what I
put together, but while it successfully refuses any non-digit, it still
lets any number of digits through.

Any suggestions?

if ((ereg("([0-9])", $people))&&(ereg("([0-9])", $rooms))) {


Re: Easy ereg() question

news@celticbear.com wrote:
Quoted text here. Click to load it

Try: ^([0-9])$
^ = beginning of string
$ = end of string

Grz, jrf

Re: Easy ereg() question


Quoted text here. Click to load it

Instead of ereg you should always use preg_match because it is faster  
than ereg.  Also part of your reason that it is matching any number of  
digit is because what you are actually asking for is to test that there  
is one or two digits in the rule...

Try the following:

if (preg_match('^[0-9]$', $people) && preg_match('^[0-9]$',  

The ^ defines the start of a string and the $ defines the end of a string.

Mike Willbanks
Zend Certified Engineer

Re: Easy ereg() question

Mike Willbanks wrote:
Quoted text here. Click to load it

Thanks! And replier Juliette as well. Much appreciated!
The ^ and $ are regex components that seem pretty basic, but I guess I
completely overlooked their explanation. =/


Site Timeline