Instead of:
(!ereg("^([a-zA-ZåÅäÄöÖ]{4,20})\$", $_REQUEST['f_name']))

Try:
(!ereg("^[a-zA-ZåÅäÄöÖ]{4,20}$", $_REQUEST['f_name']))

(You don't need the brackets unless you're wanting to get the output of the
matches, which in this case, it doesn't look as though you do)....

Better still:
(!preg_match("!^[a-zåÅäÄöÖ]{4,20}$!is", $_REQUEST['f_name']))


James

"1lt John W. Holmes" <[EMAIL PROTECTED]> wrote in message
002301c2a6b3$a5a695f0$a629089b@TBHHCCDR">news:002301c2a6b3$a5a695f0$a629089b@TBHHCCDR...
> ^ is only NOT when it's the first character within brackets, [ and ].
Also,
> don't escape the $ at the end if you really want it to match the end of
the
> string. Right now your regular expression is matching a literal dollar
sign.
>
> As for the original question, it looks correct, providing you can have
those
> swedish characters in the brackets. What if you just simplify things and
> make your ereg look to match a single one of those swedish chacters? Will
it
> validate correctly if that's all you pass? Play with taking them in and
out
> and see what works.
>
> ---John Holmes...
>
> ----- Original Message -----
> From: "Wico de Leeuw" <[EMAIL PROTECTED]>
> To: "Anders Thoresson" <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]>
> Sent: Wednesday, December 18, 2002 11:26 AM
> Subject: Re: [PHP] ereg.
>
>
> ^ is not in this case
> Try
> if(!ereg("^([a-zA-ZåÅäÄöÖ]{4,20})\$", $_REQUEST['f_name'])) {
>
> Added the $ at the end else the could be more then 20 chars
>
> Greetz
>
> At 17:20 18-12-02 +0100, Anders Thoresson wrote:
> >What's wrong with the following regular expression? As far as I can se,
> >only alphabetic characters including the special swedish ones, should be
> >let through, but whatever character passed on in $_REQUEST['f_name']
> >passes the test?
> >
> >         if(!ereg("(^[a-zA-ZåÅäÄöÖ]{4,20})", $_REQUEST['f_name'])) {
> >                 error("Your first name should be between 4 and 20
> > alphabetic characters");
> >         }
> >
> >The next one, used to check valid birthday dates, work. And I can't see
> >where they differ!
> >
> >         if(!ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})",
> $_REQUEST['birthday']))
> >
> >Br,
> >
> >   Anders
> >
> >
> >--
> >PHP General Mailing List (http://www.php.net/)
> >To unsubscribe, visit: http://www.php.net/unsub.php
> >
>
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>



-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to