用jquery写自己的form表单验证

这几天看了锋利的jquery,感觉很不错。特别是jquery强大的选择器。今天就利用jquery写了一个自己的form表单验证的小案例。当巩固下jquery。首先贴下代码,当然只是一个小案例。

思路:

  1、<input type="text" Validate="Date" id="date"/>这里的 Validate:是我们需要验证的类型(属于日期类型),这里你也可以自己定义。id属性就不用说了。<input type="text" Validate="NotStringNull" id="notstring"/>

2、var arrayInput = jQuery(‘#FormData input‘);//获取from表单的input标签 这样就可以找到form表单下所有的input标签

3、遍历改数组,获取 Validate 属性值,看是否需要验证,在这里我用的是case匹配

4、用正则表达式来判断或其他方来校验改值是否合法
5、用 array 来存放结果和对应元素的ID
6、遍历array 数组,如果判断为false值,那么就把对应颜色的设置对应颜色的css值,提示用户。
7、返回验证的结果



    



<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
    <script src="jquery/jquery.min.js"></script>
    <script type="text/javascript">
        jQuery(function () {
            jQuery(‘button‘).click(function () {
                var arrayInput = jQuery(‘#FormData input‘);//获取from表单的input标签
                var isValidate = Validate(arrayInput);
                if (isValidate)//如果通过则可以发生ajax请求,提交数据到后台
                    jQuery(‘#result‘).text(‘验证通过‘);
                else
                    jQuery(‘#result‘).text(‘验证未通过‘);
            });
        });
        //表单验证函数
        var Validate = function (arrayInput) {
            //将结果和对应的ID放入该数组
            var array = new Array();
            //循环遍历需要验证的input元素
            arrayInput.each(function (index, element) {
                var type = jQuery(element).attr(‘Validate‘);
                //获取验证的类型 比如日期、不为空的字符串
                var Value = jQuery(element).val();
                var obj = new Object();
                switch (type) {
                    //如果是日期验证
                    case ‘Date‘:
                        var reg = /^\d{4}(\-|\/|\.)\d{1,2}\1\d{1,2}$/;
                        if (!reg.test(Value)) {
                            obj.id = jQuery(element).attr(‘id‘);
                            obj.isval = false;

                        } else {
                            obj.id = jQuery(element).attr(‘id‘);
                            obj.isval = true;
                        }
                        array.push(obj);
                        break;
                        //如果是不为空的字符串验证
                    case ‘NotStringNull‘:
                        if (Value == "" || Value.length == 0 || Value == null) {
                            obj.id = jQuery(element).attr(‘id‘);
                            obj.isval = false;
                        } else {
                            obj.id = jQuery(element).attr(‘id‘);
                            obj.isval = true;
                        }
                        array.push(obj);
                        break;
                }
            })
            var isbool = true;//返回结果初始值设为true
            //循环遍历结果
            for (var i = 0; i < array.length; i++) {
                if (array[i].isval == false) {
                    //验证不通过,则改变元素的css样式
                    jQuery(‘#‘ + jQuery(array[i]).attr(‘id‘)).css(‘background‘, ‘red‘);
                    isbool = false;
                }
            }
            //返回验证结果
            return isbool;
        }
    </script>

</head>
<body>
    <button value="验证" id="dd">验证</button>
   <form id="FormData">
       <!--验证日期-->
       日期验证:<input type="text" Validate="Date" id="date"/><br />
       日期验证:<input type="text" Validate="Date" id="date2"/><br />
       <!--验证不为空的字符串-->
       不为空字符串验证:<input type="text" Validate="NotStringNull" id="notstring"/><br />
       <!--不需要最验证-->
       <input type="text" />
       <span id="result"></span>
   </form>
</body>
</html>

如图:

验证结果为 false

验证结果为 false

验证结果为 true

时间: 2024-12-26 16:05:31

用jquery写自己的form表单验证的相关文章

jQuery学习之:Validation表单验证插件

http://polaris.blog.51cto.com/1146394/258781/ 最近由于公司决定使用AJAX + Struts2来重构项目,让我仔细研究一下这两个,然后集中给同事讲讲,让每个人都能够有所掌握,慢慢会用.于是,自己便开始学习…… 由于Struts2自己早就学过,因而不需要花多少时间.而AJAX之前没怎么用过.现在AJAX框架如此之多,选择哪一个呢?开始打算选择 dojo,但是看了一点后,发现蛮复杂的.在之前有学过一点点jQuery,而网上也说jQuery很强大而且很容易

python_way day14 HTML-day5 (form表单验证,)

python-way day19 1. dJango的form表单验证 一,django表单验证功能 1.django验证基础: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>django form</title> </head> <body> <div> <i

django之form表单验证

django中的Form一般有两种功能: 输入html 验证用户输入 #!/usr/bin/env python # -*- coding:utf-8 -*- import re from django import forms from django.core.exceptions import ValidationError def mobile_validate(value): mobile_re = re.compile(r'^(13[0-9]|15[012356789]|17[678]

JQuery中一个简单的表单验证的实例

html代码如下: <!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> <meta http-equiv=&quo

Django基础之Form表单验证

Form表单验证 1.创建Form类(本质就是正则表达式的集合) from django.forms import Form from django.forms import fields from django.forms import widgets from Mybbs.models import * import re class UserForm(Form): username = fields.CharField( required=True, error_messages={'re

element-ui Form表单验证

element-ui Form表单验证规则全解 element的form表单非常好用,自带了验证规则,用起来很方便,官网给的案例对于一些普通场景完全没问题,不过一些复杂场景的验证还得自己多看文档摸索,自己经过数次爬坑 之后,总结了几种form表单的验证规则,为了便于阅读,验证规则是拆分的,完整的代码放在文末 1. 普通输入验证 <el-form-item label="活动名称" prop="name"> <!-- validate-event属性

Python自动化运维系列之Django Form表单验证

Form表单验证 Django核心功能组件之一,虽然也可以在前端使用JS对表单验证, 但是Django中已经为我们准备好的Form功能还算是很强大的,有时候比较适合运维,为我们简化了很多前端开发工作. Django最主要的几个功能有4个     ·  生成HTML标签     ·  验证数据(表单错误信息提示)     ·  HTML 表单保留上次提交数据     ·  初始化页面表单内容 Django的Form内容还是挺多的,我们可以从一个简单的登陆验证例子来看看Form的基本功能使用 1)新

Django中的Form表单验证

回忆一下Form表单验证的逻辑: 前端有若干个input输入框,将用户输入内容,以字典传递给后端. 后端预先存在一个Form表单验证的基类,封装了一个检测用户输入是否全部通过的方法.该方法会先定义好错误信息的字典,并会遍历类的所有属性(对应前端待验证的输入域),调用各自的验证方法,将错误信息(两类,必要与否以及格式正确与否)存入字典,并得出最终的验证结果.在使用时,需要定义继承自Form基类不同的Form类,以对应有着不同输入域的Form表单.在拿到前端给的字典前,要先初始化自定义From类,直

抽屉之Tornado实战(7)--form表单验证

在这里,我们把form表单验证的代码进行工具化了,以后稍微修改一下参数就可以拿来用了 先贴上代码 forms.py from backend.form import fields class BaseForm: def __init__(self): self._value_dict = {} self._error_dict = {} self._valid_status = True def valid(self, handler): for field_name, field_obj in