表单验证模板

<html>
    <head>
        <script src="check.js"></script>
        <style>
            span{
                font-size:12px;
            }
            .stats1{
                color:#aaa; <!-- 默认灰色 -->
            }

            .stats2{
                color:#000;
            }

            .stats3{
                color:red;
            }

            .stats4{
                color:green;
            }

        </style>
    </head>

    <body>
        <form action="" method="" onsubmit="return regs(‘submit‘)">
            username:<input type="text" name="username" value="">
            <span class="stats1">请输入用户名</span><br/>
            password:<input type="password" name="password" value="">
            <span class="stats1">请输入密码</span><br/>
            repass:<input type="password" name="repass" value="">
            <span class="stats1">请再次输入密码</span></br/>
            email:<input type="text" name="email" value="">
            <span class="stats1">请输入邮箱</span><br/>
            other:<input type="text" name="other" value="">
            <span class="stats1">请输入其他</span><br/>
            <input type="submit" name="sub" value="submit">
        </form>
    </body>
</html>
//页面加载完自动调用
onload=regs;

//一个函数,可以使用onsubmit调用,也可以使用onload调用
function regs(subm){//我们直接提交表单不会验证,怎么解决呢?我们需要让函数进行判断,直接点击提交的时候得到一个信号,所有验证都执行,使用参数
    var stat=true;
    var username=document.getElementsByName("username")[0];
    var password=document.getElementsByName("password")[0];
    var repass=document.getElementsByName("repass")[0];
    var email=document.getElementsByName("email")[0];
    var other=document.getElementsByName("other")[0];

    //为了省代码,使用下一个同胞获取span
    //alert(username.nextSibling.nodeName);/前面这种方式有可能控件后面是空格或者图片,所以我们使用一个小算法得到span
    //alert(gspan(username).nodeName);
    check(username,"用户名的长度要在3-20之间",function(val){
        //if(val.match(/^\S+$/) && val.length>=3 &&username.value.length<=20){
        if(val.match(/^\S{3,20}$/)){
            return true;
        }else{
            stat=false;
            return false;
        }
    },subm);

    check(password,"密码必须在6-20位之间",function(val){
        //if(val.match(/^\S+$/) && val.length>=6 &&val.length<=20){
        if(val.match(/^\S{6,20}$/)){
            return true;
        }else{
            stat=false;
            return false;
        }
    },subm);

    check(repass,"确认密码要和上面一致,规则也要相同",function(val){
        //if(val.match(/^\S+$/) && val.length>=6 &&val.length<=20 && val==password.value ){
        if(val.match(/^\S{3,20}$/) && val==password.value ){
            return true;
        }else{
            stat=false;
            return false;
        }
    },subm);

    check(email,"要按邮箱规则输入",function(val){
        if(val.match(/\[email protected]\w+\.\w+/)){
            return true;
        }else{
            stat=false;
            return false;
        }
    },subm);
    return stat;
}

function gspan(cobj){//找到下一个span
    while(true){
        if(cobj.nextSibling.nodeName!="SPAN"){
            cobj=cobj.nextSibling;
        }else{
            return cobj.nextSibling;
        }

    }

}
/*
    通用检查方法:
        第一个参数:obj,用来检查的对象
        第二个参数:info,用来检查的提示信息
        第三个参数:fun,用来检查值是否按条件输入
        第四个参数:subm,状态判定,分清是点击提交还是失去焦点
*/
function check(obj,info,fun,subm){
    var sp=gspan(obj);
    obj.onfocus=function(){//得到焦点提示
        //var sp=gspan(username);
        sp.innerHTML=info
        sp.className="stats2";
    }
    obj.onblur=function(){
        //if(username.value.match(/^\S+$/) && username.value.length>=3 &&username.value.length<=20){
        if(fun(this.value)){
            sp.innerHTML="输入正确";
            sp.className="stats4";
        }else{
            sp.innerHTML=info;
            sp.className="stats3";
        }
    }
    if(subm=="submit"){
        obj.onblur();
    }
}
时间: 2024-08-07 21:20:42

表单验证模板的相关文章

第一篇,js表单验证模板

下面是对于一个email的表单验证的基本模板<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <style type="text/css" > .init{ border: 1px solid black; font-weight: bold; } .right{ border: 1px solid green; f

群里分享的react的收藏一下!今日周末,改了个表单验证然后无所事事了!

今日周末,改了个表单验证然后无所事事了,然后把昨天群里分享的react的收藏一下尽管现在还在研究angular和nodeJs毕竟刚刚开始用有点不熟...没准以后会研究一下react毕竟看着下面这张图还是觉得有点欢乐的 现在最热门的前端框架,毫无疑问是 React . 上周,基于 React 的 React Native 发布,结果一天之内,就获得了 5000 颗星,受瞩目程度可见一斑. React 起源于 Facebook 的内部项目,因为该公司对市场上所有 JavaScript MVC 框架,

jquery.validation.js 表单验证

jquery.validation.js 表单验证 官网地址:http://bassistance.de/jquery-plugins/jquery-plugin-validation jQuery plugin: Validation 使用说明 一导入js库 <script src="../js/jquery.js" type="text/javascript"></script> <script src="../js/jq

jQuery插件——Validation Plugin表单验证

jQuery表单验证插件:https://plugins.jquery.com/tag/validate/ jQuery Validation插件是最常用的插件之一:http://jqueryvalidation.org/ 一.基本API rules里面的“username”是input中的“name”,不是“id”. 表单验证,主要是俩:一是规则,二是提示信息 当在使用validate插件的时候: 使用validate()方法的时候将debug设置为true,那么表单不会提交,只进行检查,调试

jQuery Validate 插件,表单验证功能

连接地址:http://www.w3cschool.cc/jquery/jquery-plugin-validate.html jQuery Validate jQuery Validate 插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求.该插件捆绑了一套有用的验证方法,包括 URL 和电子邮件验证,同时提供了一个用来编写用户自定义方法的 API.所有的捆绑方法默认使用英语作为错误信息,且已翻译成其他 37 种语言. 该插件是由 Jör

纯H5+c3实现表单验证

客户端验证是网页客户端程序最常用的功能之一,我们之前使用了各种各样的js库来进行表单的验证.HTML5其实早已为我们提供了表单验证的功能.至于为啥没有流行起来估计是兼容性的问题还有就是样式太丑陋了吧. 下面我们将来一步一步创造一个HTML5和CSS3的表单验证,只使用HTML和CSS. 完成后的如下: 第一步:整理验证字段和类型 首先我们需要如下几个字段: 姓名(full name) 电话号码(phone number) 邮箱地址(email address) 网址(website) 在用户输入

angular表单验证实例----可用的代码

前段时间,公司做一个单页面,就是一个表单验证,早开始在菜鸟教程上关注了angular,所以下派上用场了 angular里面对于表单验证,设置了很多指令. 也就是说不用自己写一些逻辑,直接绑定指令就行. ng-app     启动你angular的模块 ng-controller 控制器,启动你angualr里面的逻辑代码作用在页面上 ng-options  循环你select里面的option标签,很好用的 ng-submit,表单提交执行的 novalidate  表单form配合后期检测的

表单验证续&lt;AngularJs&gt;

前一篇文章说过,ng1.3+以后对于表单验证有了优化,它不再需要一个详细的表达式状态创建元素显示或隐藏. 例如:我们在ng1.3之前的版本都需要如下写法: <div class="error" ng-show="signup_form.name.$dirty && signup_form.name. $invalid && signup_form.submitted"> ng1.3之后新增了一个ngMessages指令,他

angular之表单验证ngMessages

刚接触angular1.x很多经常用到的ngMessages的地方,这里顺便记一下,效果如下图: 如果引用了angular-messages.js报如下错误,说明你的angular.js和angular-messages.js版本不匹配,需要找到能用的版本. 可在这里在线测试各个版本https://docs.angularjs.org/api/ngMessages 引入版本匹配的angular-mseeages.js后,接下来开始使用它提供的表单验证提示吧... 最简单的就是将提示内容直接写在当