思路:
        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. 统计java中字符串,数组,集合大小(长度)

    字符串长度用String.length(); 数组用String[].length; 集合用collection.size();

  2. 安装DRools开发环境

    1.下载相关安装包和开发插件 网站:http://www.jboss.org/drools/downloads.html 1.1 drools-distribution-6.3.0.Final.zip ...

  3. 将jsp页面转化为图片或pdf(一)

    在项目中遇见了将jsp页面转化为pdf的问题,试过itext,但是itext需要标准的html代码,我的页面中的一些属性是itext所不识别的,所以努力了一段时间后就放弃了,后来发现htmlutil抓 ...

  4. CollectionView水平和竖直瀑布流的实现

    最近在项目中需要实现一个水平的瀑布流(即每个Cell的高度是固定的,但是长度是不固定的),因为需要重写系统 UICollectionViewLayout中的一些方法通过计算去实现手动布局,所以本着代码 ...

  5. border-radius四个值的问题

    我们都知道border-radius后面如果是4个值的话,依次代表的是左上角.右上角.右下角.左下角. 但是这样写呢:border-radius:10px 20px 30px 40px/50px 40 ...

  6. 在公司里面,如何让笔记本连上wifi?

    1.复制谷歌浏览器图标的快捷方式,重命名为chrome Android,鼠标右键设置该快捷方式的属性,在目标处,加上 C:\Users\admin\AppData\Local\Google\Chrom ...

  7. mysql优化

    一.优化事项 1. 数据库(表)设计合理    (不合理设计导致内伤)    我们的表设计要符合3NF   3范式(规范的模式) , 有时我们需要适当的逆范式.2. sql语句的优化(索引,常用小技巧 ...

  8. 关于用display:table让元素居中的小结

    我们都知道让元素垂直居中有一种简单的方法:给需要居中的元素用一个父级包起来,并给它设置样式:display:table:同时给这个父级设置好高度:再给需要居中的元素一个display:table-ce ...

  9. 7_nodejs angularjs

    webstrom使用: ctrl+b/点击,代码导航,自动跳转到定义 ctrl+n跳转指定类 ctrl+d复制当前行ctrl+enter另起一行ctrl+y删除当前行 ctrl+alt/shift+b ...

  10. 也来说说关于未在本地计算机上注册“VFPOLEDB.1”的程序的解决方法

    大家都知道VFP是一个非常古老的数据库.但是,还有一些单位用到这些数据库. 前段时间,也做了一个关于DBF数据导出的功能的测试.程序以前有同事写好了,但当我进行修改调试的时候,问题就出来了. 调试的时 ...