zoukankan      html  css  js  c++  java
  • HTML5表单验证

    HTML代码:

    <form action="index.html" method="post" id="myform">
        <dl class="register_row">
            <dt>Email地址:</dt>
            <dd><input id="email" type="email" required="required" class="register_input" pattern="^w+@w+(.[a-zA-Z]{2,3}){1,2}$"/></dd>
        </dl>
        <dl class="register_row">
            <dt>设置昵称:</dt>
            <dd><input id="nickName" type="text" class="register_input"  required="required" pattern="[a-zA-Z0-9]{4,20}"/></dd>
        </dl>
        <dl class="register_row">
            <dt>设定密码:</dt>
            <dd><input id="pwd" type="password" class="register_input"required="required"  pattern="[a-zA-Z0-9]{6,20}"/></dd>
        </dl>
        <dl class="register_row">
            <dt>再输入一次密码:</dt>
            <dd><input id="repwd" type="password" class="register_input" required="required" pattern="[a-zA-Z0-9]{6,20}"/></dd>
        </dl>
        <dl class="register_row">
            <dt>性别:</dt>
            <dd><input name="sex" id="man" type="radio" value="" checked="checked"/> <label for="man">男</label></dd>
            <dd> <input name="sex" id="woman" type="radio" value=""/> <label for="woman">女</label></dd>
        </dl>
        <dl class="register_row">
            <dt>所在地区:</dt>
            <dd>
                <select id="province" style="120px;">
                    <option>请选择省/城市</option>
                </select>
            </dd>
            <dd>
                <select id="city"  style="130px;">
                    <option>请选择城市</option>
                </select>
            </dd>
        </dl>
        <div class="registerBtn"><input id="registerBtn" type="image" src="images/register_btn_out.gif"/></div>
    </form>

    JS代码:
    $("#registerBtn").click(function(){
        var email=document.getElementById("email");//这个只能是document对象
        if(email.validity.valueMissing==true){
            email.setCustomValidity("邮箱不能为空!");
            return;
        }
        else if(email.validity.patternMismatch==true){
            email.setCustomValidity("邮箱格式不正确!");
            return;
        }
        else{
            email.setCustomValidity("");
        }
        var name=document.getElementById("nickName");
        if(name.validity.valueMissing==true){
            name.setCustomValidity("昵称不能为空!");
            return;
        }
        else if(name.validity.patternMismatch==true){
            name.setCustomValidity("昵称必须是4-20位的英文和数字!");
            return;
        }
        else{
            name.setCustomValidity("");
        }
        var pwd=document.getElementById("pwd");
        if(pwd.validity.valueMissing==true){
            pwd.setCustomValidity("密码不能为空!");
            return;
        }
        else if(pwd.validity.patternMismatch==true){
            pwd.setCustomValidity("密码必须是6-20位的英文和数字!");
            return;
        }
        else{
            pwd.setCustomValidity("");
        }
        var rpwd=document.getElementById("repwd");
        if(rpwd.validity.valueMissing==true){
            rpwd.setCustomValidity("密码不能为空!");
            return;
        }
        else if(rpwd.value!=pwd.value){
            rpwd.setCustomValidity("两次输入的密码不一样!");
            return;
        }
        else{
            rpwd.setCustomValidity("");
        }
        var province=document.getElementById("#province");
        if(province.value=="请选择省/城市"){
            alert(1);
            province.setCustomValidity("请选择省份!");
            return;
        }
        else{
            province.setCustomValidity("");
        }
        var city=document.getElementById("#city");
        if(city.value=="请选择城市"){
            city.setCustomValidity("选择城市不能为空!");
            return;
        }
        else{
            city.setCustomValidity("");
        }
        var us=$("#email").val();
        var u=new User($("#nickName").val(),$("#pwd").val(),us,$("#province").val()+$("#city").val(),$("input [name='sex']").val());
        users[us]=[u];
    })

    实现效果:

    使用注意事项:
    js验证元素注意顺序要与html元素的一致
     
  • 相关阅读:
    Anaconda设置虚拟环境并打包exe
    [转]Anaconda, conda, pyenv, virtualenv的区别
    [闲记]2020-2-13
    集合笔记
    Python_列表(list)
    LeetCode 1711. 大餐计数 做题小结
    LeetCode 242. 有效的字母异位词 做题小结
    GitHub Actions教程 使用selenium自动化
    LeetCode 5641. 卡车上的最大单元数 做题小结
    git 批量删除文件夹和文件
  • 原文地址:https://www.cnblogs.com/zeussbook/p/8831950.html
Copyright © 2011-2022 走看看