wasimkham Posted May 2, 2006 Share Posted May 2, 2006 [b]$pass_reg = ereg("^[0-9a-zA-Z]{5,12}",'1124adadsadasdasdsad',$match);print_r($match);if ($pass_reg) { echo "<p>Password is <b>correct</b><p>";} else { echo "<p>Password is <b>incorrect</b><p>";}[/b]Hi, im using this regular expression "^[0-9a-zA-Z]{5,12}" as password validation, but even if the string passed through ereg() is more than 12 characters, the ereg() function still returns True, and $match returns the first 12 characters of the string. This is the output of the script:Array ( [0] => 1124adadsada ) Password is [b]correct[/b]Can i configure it so that i can make it return False if the string passed is 12 characters or less?Thanks Quote Link to comment Share on other sites More sharing options...
Orio Posted May 2, 2006 Share Posted May 2, 2006 I dont know much about regex, but you can just do this:[code]$pass="1124adadsadasdasdsad";$pass_reg = ereg("^[0-9a-zA-Z]",$pass,$match);if ($pass_reg && strlen($pass)<=12) {echo "<p>Password is <b>correct</b><p>";} else {echo "<p>Password is <b>incorrect</b><p>";}[/code]Btw, look at this (quoted from php.net, the ereg function):"Note: preg_match(), which uses a Perl-compatible regular expression syntax, is often a faster alternative to ereg(). "Orio. Quote Link to comment Share on other sites More sharing options...
wasimkham Posted May 2, 2006 Author Share Posted May 2, 2006 well im gonna try perl regular expressions, i've just started learning them. but the thing wrong with your method is that ereg() function doesnt return a string, it returns a Boolean. thanks for you help, be back later if any problems Quote Link to comment Share on other sites More sharing options...
Orio Posted May 2, 2006 Share Posted May 2, 2006 I know it retuns a boolean... The piece of code I wrote does check if its alpha numeric and if its length is smaller than 12 (Forgot to add the: " && strlen($pass)>=5" to the if).Orio. 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.