PHP实用代码系列 - Ajax密码强度检测
PHP和Ajax搭配真的不是什么新的东西,Google一下,你可以找到很多介绍它们的文章。正是因为它们的流行、简单、强大,所以我觉得在PHP实用代码系列文章里一定不可以少了它们。
在jQuery没出来以前,我都是通过GetXmlHttpObject()函数来实现Ajax。现在好了,jQuery把所有这些繁琐的步骤都包含在它的库文件里,我们只要通过它的接口函数,就可以轻松实现Ajax。在这些接口函数里最简单的应该要算load()。下面我就要开始介绍,PHP+Ajax(通过jQuery的load函数)的小运用 - 密码强度检测。
首先是PHP代码(pass_test.php):
<?php$password = isset($_POST['pass']) ? $_POST['pass'] : "";if (!$password) echo "";else{$strength = 0;// 小写字母if(preg_match("/([a-z]+)/", $password)) {$strength++;}// 大写字母if(preg_match("/([A-Z]+)/", $password)) {$strength++;}// 数字if(preg_match("/([0-9]+)/", $password)) {$strength++;}// 非任意(文字和数字)字母和下滑线的字符if(preg_match("/(\W+)/", $password)) {$strength++;}// 密码的长度if (strlen($password) < 7) $strength--;else $strength++;switch($strength) {case 0:case 1:echo '密码强度太弱';break;case 2:echo '密码强度弱';break;case 3:echo '密码强度高';break;case 4:case 5:echo '密码强度很高';break;}}?>
上面的PHP代码很简单,它只是通过一些自定义的规则来判断密码的强度。通常认为高强度的密码必须包含大小写字母、数字、和特殊字符,而且密码长度应该不小于6位。
接下来是HTML代码:
<label>请输入密码:</label><input id="pass" type="password" name="password" /> <div id="passwd_strength"></div> <!--这个div用来显示提示信息-->
最后是jQuery代码:
演示<script type="text/javascript" src="/js/jquery.js"></script><script type="text/javascript">$(document).ready(function(){$("#pass").keyup(function(){$("#passwd_strength").load("pass_test.php", {"pass" : $(this).val()});});});</script>



1 条评论:
这个完全可以将验证规则写入到JS中,为什么非得用AJAX来增加访问服务器次数,增加通信数呢。
作者
匿名, 时间
2009年5月29日 上午12:47
发表评论
指向此帖子的链接: