Jump to content

Regular Expression Help!


wasimkham

Recommended Posts

[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
Link to comment
https://forums.phpfreaks.com/topic/8887-regular-expression-help/
Share on other sites

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.
Link to comment
https://forums.phpfreaks.com/topic/8887-regular-expression-help/#findComment-32601
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • 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.