手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >jquery插件制作 表单验证实现代码
jquery插件制作 表单验证实现代码
摘要:先下页面代码:复制代码代码如下:$(document).ready(function(){$('.formToCheck').formChe...

先下页面代码:

复制代码 代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<title></title>

<script type="text/javascript" src="Scripts/jquery-1.8.0.min.js"></script>

<script type="text/javascript" src="Scripts/jquery.formCheck.js"></script>

<script type="text/javascript">

$(document).ready(function () {

$('.formToCheck').formCheck();

});

</script>

<style type="text/css">

form

{

width: 300px;

}

label

{

position: absolute;

}

input:not(.submit), textarea

{

margin-left: 100px;

width: 200px;

}

.submit

{

margin-left: 100px;

}

.error

{

border:1px solid red;

}

</style>

</head>

<body>

<form id="formToCheck" method="get" action="#">

<fieldset>

<legend>a simple form</legend>

<p>

<label for="fname">

* first name</label>

<input id="fname" name="fname" />

</p>

<p>

<label for="lname">

last name</label>

<input id="lname" name="lname" />

</p>

<p>

<label for="email">

* email</label>

<input id="email" name="email" />

</p>

<p>

<label for="comment">

* comment</label>

<input id="comment" name="comment" />

</p>

<p>

<label for="email">

* email</label>

<input id="submit" type="submit" value="submit" />

</p>

</fieldset>

</form>

</body>

</html>

我们定义了一个form,定义了几个输入框,请注意class属性,有的是class="required",说明该项是必填项;class="required email"说明该项是必填项,并且需要符合email格式。没有定义class的输入框不做验证。下面来看插件代码:

复制代码 代码如下:

(function ($) {

$.fn.formCheck = function (options) {

var defaults = {

errorClass: 'error'

};

var options = $.extend(defaults, options);

return this.each(function () {

var form = $(this);

//如果不是from表单,直接返回不做任何操作

if (!form.is('form')) {

return;

}

//只有当form表单提交的时候,我们才做验证

form.submit(function () {

var errorFlag = false;

//获取表单里面所有的input控件,逐一进行处理

$(':input', this).each(function (index, item) {

//获取当前对象

var element = $(item);

//移除样式

element.removeClass(options.errorClass);

//必填项验证,value值不能为空

if (element.hasClass('required') && element.val().length == 0) {

errorFlag = true;

element.addClass(options.errorClass);

}

//数字验证

if (element.hasClass('number') && element.val().length > 0 && !/^d+$/.test(element.val())) {

errorFlag = true;

element.addClass(options.errorClass);

}

//email验证

if (element.hasClass('email') && element.val().length > 0

&& !/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,4}$/.test(element.val())) {

errorFlag = true;

element.addClass(options.errorClass);

}

//验证数字长度

var num = this.className.match(/min(d+)/i);

if (num && element.val().length < num[1]) {

errorFlag = true;

element.addClass(options.errorClass);

}

});

return !errorFlag;

});

});

};

})(jQuery);

demo下载地址:jQuery.plugin.formcheck

今天的课程就到此为止了。

【jquery插件制作 表单验证实现代码】相关文章:

jQuery聚合函数实例

jquery控制表单输入框显示默认值的方法

jQuery中 prop() attr()使用详解

jQuery插件实现适用于移动端的地址选择器

jQuery插件expander实现图片翻转特效

Jquery注册事件实现方法

jQuery插件bgStretcher.js实现全屏背景特效

JavaScript实现身份证验证代码

Jquery中基本选择器用法实例详解

js实现异步循环实现代码

精品推荐
分类导航