MyProgramLife(01) ---- 表单验证

来源:互联网 发布:电玩巴士官方淘宝店 编辑:程序博客网 时间:2024/06/08 19:46
       最近学习TP框架后,使用里面的自动验证,可是在写前端的验证时却显得有些不熟悉,大大减低了我的效率,是时候回顾一下前端的JS了,主要知识点:表单验证,正则表达式,三级联动,jquery,jquery与DOM的相互转换。

<!DOCTYPE html><html lang="zh-cn"><head>    <meta charset="UTF-8">    <title>基本的表单验证</title>    <script src="js/jquery-1.10.2.js"></script></head><body><form action="mytest.php" method="post" onsubmit="return formCheck()">    <fieldset>        <legend>注册练习</legend>        <p>            <label for="username">姓名:</label>            <input type="text" name="username" id="username"/>        </p>        <p>            性别:            <input type="radio" name="sex" id="male"/><label for="male">男</label>            <input type="radio" name="sex" id="female"/><label for="female">女</label>        </p>        <p>            <label for="pwd">密码:</label>            <input type="password" name="pwd" id="pwd"/>        </p>        <p>            <label for="email">邮箱:</label>            <input type="email" name="email" id="email"/>        </p>        <p>            <label for="phone">电话:</label>            <input type="tel" name="phone" id="phone"/>        </p>        <p>            <label for="province">家庭地址:</label>            <select name="province" id="province">                <option value="province_default">--请选择省份---</option>            </select>            --            <select name="city" id="city">                <option value="default_city">--请选择城市--</option>            </select>            --            <select name="concretely" id="concretely">                <option value="default_concretely">--请选择区县--</option>            </select>        </p>        <p>        <p>喜欢的游戏:</p>        <p>            <input type="checkbox" name="interest" id="LOL"/>            <label for="LOL">LOL</label>        </p>        <p>            <input type="checkbox" id="CF" name="interest"/>            <label for="CF">CF</label>        </p>        <p>            <input type="checkbox" name="interest" id="QQ飞车"/>            <label for="QQ飞车">QQ飞车</label>        </p>        <p>            <input type="submit" value="立即注册"/>        </p>    </fieldset></form><script>    //定义二维数组,放置省份和城市,第二维中的第一个是省份    var address = [        ["四川省", "成都市","泸州市","绵阳市","德阳市"],        ["广东省", "广州市","佛山市","湛江市"]    ];    //定义三维数组,放置具体的区县    var concretely =[      [          [["武侯区"],["青羊区"],["金牛区"]],          [["江阳区"],["龙马谭区"],["纳溪区"],["泸县"]],          [["绵阳区1"],["绵阳区2"],["绵阳区3"]],          [["德阳区1"],["德阳区2"],["德阳区3"]]      ],      [            [["广州市区1"],["广州市区2"],["广州市区3"]],            [["佛山市区1"],["佛山市区2"],["佛山市区3"]],            [["湛江市区1"],["湛江市区2"],["湛江市区3"]]      ]    ];      //省份加载    $(function(){        $("#province").children("option").length=1;            for(var i =0;i<address.length;i++){                obj="<option value='"+address[i][0]+"'>"+address[i][0]+"</option>";                $("#province").append(obj);            }    });    var optionIndex;    //加载城市,PrOptionIndex返回选中的省份索引   $("#province").change(function(){          //selectedIndex是返回被选项的索引值,jquery未封装因此需要将jquery对象转为DOM对象       PrOptionIndex =$(this).get(0).selectedIndex;                          /*如果是DOM对象转jquery对象 :                              var sel =document.getElementByID("province"); //DOM对象                              var $sel = $(sel);                           */       //清空城市和区县       $("#city").get(0).options.length=1;       $("#concretely").get(0).options.length=1;       //城市都是从第二维的第二个开始的,所有循环从i=1开始       for(var i=1;i<address[PrOptionIndex-1].length;i++){           obj="<option value='"+address[PrOptionIndex-1][i]+"'>"+address[PrOptionIndex-1][i]+"</option>";           $("#city").append(obj);       }   });    //加载区县,cityOptionIndex返回选中的城市索引    $("#city").change(function(){        $("#concretely").get(0).options.length=1;        var cityOptionIndex = $(this).get(0).selectedIndex;        for(i=0;i<concretely[PrOptionIndex-1][cityOptionIndex-1].length;i++){            obj =   obj="<option value='"+concretely[PrOptionIndex-1][cityOptionIndex-1][i]+"'>"            +concretely[PrOptionIndex-1][cityOptionIndex-1][i]+"</option>";         $("#concretely").append(obj);        }    });    //表单验证部分    function iptCheck(reg,obj,err){        $(obj).next("span").remove();        if(! reg.test($(obj).val())){            $(obj).after("<span style='color: #f00;font-size: 12px;'>"+err+"</span>");            return false;        }        return true;    }    $("input[name='username']").blur(function(){        iptCheck(/^[\u4e00-\u9fa5]{2,10}$/,this," 姓名必须为汉字且长度大于2");    });    $("input[name='pwd']").blur(function(){        iptCheck(/^[0-9a-zA-Z]{6,30}$/,this," 密码含有特殊字符或长度小于6");    });    $("input[name='email']").blur(function(){        iptCheck(/\w+((-w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+/,this," 邮箱格式为xx@xx.xx");    });    $("input[name='phone']").blur(function(){        iptCheck(/0?(13|14|15|18)[0-9]{9}/,this," 请输入中国内陆的手机联系方式");    });    //提交按钮时调用所有表单控件失去焦点事件function formCheck(){    $(":input").each(function(){       $(this).blur();    });    if($(":input+span").length==0)        return true;    return false;}</script></body></html>
            

      效率实在是太低了,这个代码都写了将近三个小时,看来还是要多加练习啊!!
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 叛逆期的孩子用死来威胁家长怎么办 叛逆期的孩子抽烟喝酒家长该怎么办 大学遇到不好的老师加课怎么办 两岁的宝宝脾气古怪不听话怎么办 16个月宝宝不听话脾气大怎么办 如果你很害怕去面对一件事怎么办 孩子上幼儿园哭老师不理孩子怎么办 发现幼儿园给孩子吃药片该怎么办 做老师的打学生被家长投诉怎么办 学生认为老师向家长打报告怎么办 老师发打12分的试卷给家长怎么办 孩子在学校顶撞老师不让上学怎么办 被老师骂了不敢去学校怎么办 孩子不爱去幼儿园 总是哭怎么办呢 孩子在幼儿园被老师罚家长该怎么办 孩子不喜欢幼儿园里的体能课怎么办 初中叛逆期的孩子怎么办老师做法 二年级孩子不受老师待见怎么办 孩子该上初中了没学籍怎么办 四个多月的婴儿不喜欢看人怎么办 2个月婴儿不喜欢吃奶粉怎么办 想学习但是又学不进去怎么办 在省外读书 回来读高中学籍怎么办 一岁宝宝这几天不爱吃饭怎么办 2岁的宝宝吃多了怎么办 小孩吃了退烧药吐了怎么办 牙齿与牙齿之间有洞喜欢塞牙怎么办 胃有点烧心天天没食欲不饿怎么办 1岁半宝宝不吃饭光喝奶粉怎么办 一岁半宝宝光喝奶粉不吃饭怎么办 一岁半的宝宝光喝奶粉不吃饭怎么办 两岁半宝宝光喝奶粉不吃饭怎么办 宝宝9个月不好好吃饭奶粉怎么办 2岁半宝宝不愿意自己吃饭怎么办 一周岁多的宝宝不吃饭怎么办 一岁宝宝吃母乳不爱吃饭怎么办 三个月大的宝宝不肯喝奶粉怎么办 自己要上班婆婆带孩子看不惯怎么办 让农村婆婆来给我带孩子怎么办 吃的不好胃难受怎么办吃什么药 特别讨厌婆婆还需要她带小孩怎么办