el siguiente código valida "si la contraseña es... entonces es..." es algo como lo que hace vbulletin.
Código PHP:
<?php
function pwd_strength($pwd)
{
$result = 0; # intialize to weakest
$result += round(strlen($pwd) / 10);
foreach(array("a-z", "A-Z", "0-9", "^a-zA-Z0-9") as $chars)
{
if(preg_match("/[$chars]/", $pwd))
{
$result += 1;
}
}
return(min($result, 6));
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang='en'>
<head>
<META HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'>
<title>Password Validation</title>
<style type="text/css">
body {
font: medium arial, helvetica, sans-serif;
margin: 0;
padding: 1em 10%;
}
div {
height: 20px;
margin: 5px 0;
padding: 0;
border: solid 1px #333;
}
#str0, #str1 {
width: 12%;
background-color: #f00;
}
#str2 {
width: 24%;
background-color: #c30;
}
#str3 {
width: 36%;
background-color: #963;
}
#str4 {
width: 48%;
background-color: #693;
}
#str5 {
width: 60%;
background-color: #3c0;
}
#str6 {
width: 72%;
background-color: #0f0;
}
#rating {
width: 72%;
padding: 0;
margin: 0;
border: none;
height: auto;
}
</style>
</head>
<body>
<h1>Password Strength Rating</h1>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<p>Password: <input type="password" name="password" size="16" maxlength="16">
<input type="submit" name="submit" value="Rate Password"></p>
</form>
<?php
if(isset($_POST['submit']))
{
$strength = pwd_strength($_POST['password']);
echo "<p>Password strength (1 = very weak, 6 = very strong): ".
"<strong>$strength</strong></p>\n";
echo "<div id='str$strength'></div>";
echo "<div id='rating'><p style='float: left'>Weak</p>";
echo "<p style='float: right'>Strong</p></div>\n";
}
?>
</body>
</html>
Ahora bien, como usted ven la contraseña se valida hasta que se le da un click al botón submit, lo que yo quiero hacer es validar mientras el usuario escribe en el campo input.
Será posible? Saludos