思路:
        1、定义页面
            通过表格格式化表单;
            表格行都有自己的背景颜色;
            单元格中的数据(文本等)用div进行封装,好操作;
        2、定义样式
            表格的样式;
            div的样式;
        3、动态效果
            页面加载时,将所有的输入框定义默认框线颜色和获取焦点时的框线颜色;
            进行内容校验,不正确时显示警告信息。
 
代码如下:
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
    <title>表单验证</title>
    <!-- 思路:
        1、定义页面
            通过表格格式化表单;
            表格行都有自己的背景颜色;
            单元格中的数据(文本等)用div进行封装,好操作;
        2、定义样式
            表格的样式;
            div的样式;
        3、动态效果
            页面加载时,将所有的输入框定义默认框线颜色和获取焦点时的框线颜色;
            进行内容校验,不正确时显示警告信息。
     -->
    <style type="text/css">
        table{
            border: #A50DFA 1px solid;
            width: 500px;
            border-collapse: collapse;
        }
        table th, table td{
            border: #A50DFA 1px solid;
            padding:10px;
        }
        table th{
           
        }
        table td{
           
        }
        .errorinfo{
            color: #EA1508;
            font-family: "华文行楷";
            font-weight: bold;
            display: none;
        }
        .focus{
            border: #03F2FC 2px solid;
        }
        .outs{
            border: #81710D 1px solid;
        }
        .error{
            border: #FA0324 2px solid;
        }
    </style>
    <script type="text/javascript">
        function checkinput(input){
            input.className = "outs";
            input.onfocus = function(){
                this.className = "focus";
            }
        }
        /*窗口加载时就执行*/
        window.onload = function(){
            with(document.forms[0]){
                checkinput(user);
                checkinput(psw);
                checkinput(repsw);
                checkinput(mail);
            }
        }
        /*验证输入的数据*/
        /*方法一:每个输入框一个function,代码重复性高,舍弃不用。*/
        function checkDate(userNode){
            var value = userNode.value;
            var regex = /^\w{3,5}$/;
            var divNode = document.getElementById("userdiv");
            if(regex.test(value)){
                userNode.className = "outs";
                divNode.style.display = "none";
            }else{
                userNode.className = "error";
                divNode.style.display = "block";
            }
        }
        /*方法二*/
        function check(inputNode, regex, divId){
            var divNode = document.getElementById(divId);
            if(regex.test(inputNode.value)){
                inputNode.className = "outs";
                divNode.style.display = "none";
            }else{
                inputNode.className = "error";
                divNode.style.display = "block";
            }
        }
         /*验证用户名*/
        function checkUser(userNode){
            var regex = /^\w{3,5}$/;
            check(userNode, regex, "userdiv");
        }
          /*验证密码格式*/
        function checkPsw(pswNode){
            var regex = /^[a-z0-9]{4,8}$/i;
            check(pswNode, regex, "pswdiv");
        }
        /*验证两次密码是否一致*/
        function checkRepsw(repswNode){
            var psw = document.getElementById("psw").value;
            var repsw = repswNode.value;
            var divNode = document.getElementById("repswdiv");
            if(psw == repsw){
                repswNode.className = "outs";
                divNode.style.display = "none";
            }else{
                repswNode.className = "error";
                divNode.style.display = "block";
            }
        }
      /*验证邮箱*/
        function checkMail(mailNode){
            var regex = /^\w+@\w+(\.\w+)+$/;
            check(mailNode, regex, "maildiv");
        }
    </script>
</head>
<body>
    <form>
        <table>
            <tr>
                <th>用户注册</th>
            </tr>
            <tr>
                <td>
                    <div>用户名</div>
                    <div>
                        <input type="text" name="user" onblur="checkUser(this)"/>
                    </div>
                    <div class="errorinfo" id="userdiv">用户名填写错误。</div>
                    <div>用户名必须是3-5位,由字母(a-z)、数字(0-9)、下划线(_)组成</div>
                </td>
            </tr>
            <tr>
                <td>
                    <div>密码</div>
                    <div>
                        <input type="password" name="psw" id="psw" onblur="checkPsw(this)"/>
                    </div>
                    <div class="errorinfo" id="pswdiv">密码格式错误。</div><br/>
                    <div>确认密码</div>
                    <div>
                        <input type="password" name="repsw"  onblur="checkRepsw(this)"/>
                    </div>
                    <div class="errorinfo" id="repswdiv">两次输入密码不一致。</div>
                    <div>密码必须是4-8位,由字母(a-z)、数字(0-9)组成</div>
                </td>
            </tr>
            <tr>
                <td>
                    <div>邮箱</div>
                    <div>
                        <input type="text" name="mail" onblur="checkMail(this)"/>
                    </div>
                    <div class="errorinfo" id="maildiv">邮箱格式错误,请规范填写。</div>
                </td>
            </tr>
            <tr>
                <th><input type="button" value="提交数据" onclick="submitDate()"></th>
            </tr>
        </table>
    </form>
</body>
</html>
 
 
 
 
 

JS实战 · 表单验证的更多相关文章

  1. ★★★【卡法 常用js库】: js汇合 表单验证 cookie设置 日期格式 电话手机号码 email 整数 小数 金额 检查参数长度

    [卡法 常用js库]: js汇合 表单验证  cookie设置  日期格式  电话手机号码  email  整数  小数  金额   检查参数长度 // +---------------------- ...

  2. js基础-表单验证和提交

    基础知识: 原始提交如下: <form action="/login" method="post" id="form1"> &l ...

  3. JS通用表单验证函数,基于javascript正则表达式

    表单的验证在实际的开发当中是件很烦琐又无趣的事情今天在做一个小项目的时候,需要JS验证,寻找到一个比较好的东西 地址如下: http://blog.csdn.net/goodfunman/archiv ...

  4. JS简单表单验证

    这里我是写了一个简单的注册表单验证功能,亲测有效,一起来看看吧! 首先我的HTML代码是这样的: class大家可以忽略一下,这里我项目使用的是bootstrap的样式. 输入用户名和密码用的是正则表 ...

  5. 表单提交学习笔记(二)—使用jquery.validate.js进行表单验证

    一.官网下载地址:http://plugins.jquery.com/validate/ 二.用法 1.在页面上进行引用 <script src="~/scripts/jquery-1 ...

  6. 原生js的表单验证

    最近在学原生的js,把一些练手的代码往博客放一放,权当积累经验,若有错漏,或是觉得浅显,大家不要见怪. 这是一个原生js编写的简单的表单验证: <!DOCTYPE html><htm ...

  7. js——form表单验证

    用js实现一个简易的表单验证 效果: 代码: <html> <head> <title>js校验form表单</title> <meta char ...

  8. 原生JS写表单验证提交功能

    先上效果图: 表单的基础内容就是昵称判断.手机号判断.邮箱判断.身份证号码判断,这里是用到正则验证检验格式. 页面的表单写法就是一个form的提交.输入框用input来实现,输入内容用value来获取 ...

  9. 原生js制作表单验证,基本的表单验证方法

    表单验证是web前端最常见的功能之一,也属于前端开发的基本功.自己完成一个表单验证的开发,也有助于加深对字符串处理和正则表达式的理解. 基本的表单验证包括如:字母验证.数字验证.字母和数字验证.汉字验 ...

随机推荐

  1. 【CentOS】LNMP

    本文为博主JerryChan所有,如需转载,请联系博主747618706@qq.com,并附上博客链接/////////////////目录//////////////////一.LNMP的安装 1. ...

  2. 【CentOS】安装RPM包或者源码包

    一.rpm  (是Redheat Package Manager的简称) 如果光驱中还有系统安装盘的话, 1.先挂载光驱, mount /dev/cdrom /mnt/ 2.cd /mnt/ 3.cd ...

  3. CVE-2010-3654分析及利用

    三年前分析的一个漏洞,最近又温习一遍,这个flash中混淆漏洞的鼻祖,10年最经典的漏洞. 漏洞触发原因 该漏洞主要因为avm对返回的类没有进行校验,通过修改swf文件,实现Ref类和Origin类的 ...

  4. Hello, cnblogs !

    来博客园的第一天. 大学毕业三年多了,感觉自己碌碌无为,不知道自己究竟想做什么,就这样浑浑噩噩过了三年多. 记得大三那年,为了准备大四的毕业设计,自学了好几个月的Java EE.Java基础.Java ...

  5. 泛型的排序问题(Collections.sort及Comparable的应用)

    一.前言    java中对泛型(集合类型)排序的问题,主要采用了两张方式一种是对要排序的实体类,实现Comparable接口,另一种方式,Collections集合工具类进行排序. 二.实现Comp ...

  6. bootstrap之clearfix

    bootstrap之clearfix 在bootstrap辅助类中有那么一类,是这么定义的: 利用clearfix样式清除浮动,但是前提条件是在超小型屏幕上能显示才行(因为其是用visible-xs样 ...

  7. mysql主从复制配置

    使用mysql主从复制的好处有: 1.采用主从服务器这种架构,稳定性得以提升.如果主服务器发生故障,我们可以使用从服务器来提供服务. 2.在主从服务器上分开处理用户的请求,可以提升数据处理效率. 3. ...

  8. Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)

    去空格及特殊符号 s.strip().lstrip().rstrip(',') 复制字符串 #strcpy(sStr1,sStr2) sStr1 = 'strcpy' sStr2 = sStr1 sS ...

  9. Unity3d刚体Rigidbody与碰撞检测Collider

    做了一个碰撞的小Demo,用一个球去撞击一堵墙,结果在球和墙都设置了刚体和碰撞体的情况下,球穿过了墙.移动球的位置,球有时能穿过墙,有时会被墙阻挡. 对于球穿过了墙,这个问题,在网上找了一下答案,基本 ...

  10. 在发送ajax请求时加时间戳或者随机数去除js缓存

    在发送ajax请求的时候,为了保证每次的都与服务器交互,就要传递一个参数每次都不一样,这里就用了时间戳 大家在系统开发中都可能会在js中用到ajax或者dwr,因为IE的缓存,使得我们在填入相同的值的 ...