使用jQuery实现表单合法性检测

  jQuery是个强大的js库。它不仅功能强大,而且本身十分精简,调用也非常简单。对任意一个对象操作,无须在html中加入onload、onclick之类的语句,只须指定id再直接调用。

  很多网站注册拥有类似于下面的注册合法性认证功能,在未提交时就能指出表单中的错误。虽然用传统的js也能实现,但用jQuery的ajax可以使代码更简单。

jQuery合法性认证

  下面将以验证密码为例,给出相关的代码。

  首先在注册页面需要这些东西:一个密码文本域,一个显示认证结果的div或span(在一开始隐藏)。密码文本域的id为password,结果的id为password-div,如下面所示:

1
2
<input name="password" type="password" id="password" size="20" />
<span id="password-div" class="display: none">密码应为至少6位的数字、字母或符号组成的字符串</span>

  然后再在该页面下导入下列js代码:

?Download register.js
1
2
3
4
5
6
7
8
9
10
11
12
13
$(document).ready(function(){
	valid('email');
	function valid(id){
		$('#'+id).focus(function(){
			$('#'+id+'-div').fadeIn();//获得焦点时显提示(淡入)
		});
		$('#'+id).blur(function(){
			$('#'+id+'-div').html('正在检查,请稍候……');//失去焦点时认证
			$('#'+id+'-div').load('regvalid.php', {'type':id, 'v':$('#'+id).attr('value')});
//用post把待验证的信息传给regvalid.php,再载入认证信息
		});
	}
});

  传输的参数:type:验证类型(username、password、email之类的),v:验证的值。

  regvalid.php用post接收信息,可以检查type来判断验证什么,类似于下面的代码:

?Download regvalid.php
1
2
3
4
5
6
$v=$_POST['v'];
if ($_POST['type']=='password') {
	if ($v=='') die("请输入密码");
	if (strlen($v<6)) die("为了保证账户的安全,密码至少6位");
}
echo "验证通过";

  验证用户名、验证邮箱就不在这里说了,原理都一样。

无觅相关文章插件,快速提升流量

本文永久链接地址: http://www.cngry.com/archives/jquery-form-valid.html

本文短网址:http://gry.im/2360

转载请注明: 转载自gry's blog

如果你觉得本博内容不错,欢迎 [订阅 gry's blog],以便第一时间了解本博更新内容!

前一篇: 
后一篇:

共有 3 条评论

可用XHTML标签: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

(吐) (难过) (酷) (谄笑) (调皮) (色) (脸红) (给力) (笑) (睡觉) (生病) (生气) (烧香) (淘气) (流口水) (汗) (晕) (惊恐) (微笑) (尴尬) (大笑) (困) (囧) (哭) (吃饭) (口罩) (压力) (冷) (住嘴) (书呆子) (不给力) (不)

Twitter
Feed