表单案例:附图

在这里插入图片描述




<span class="katex--inline">美少女战士</span>

    <style>
        * {
            padding: 0;
            margin: 0;
            box-sizing: border-box;
        }
        form {
            width: 500px;

            height: auto;
            margin: 0 auto;
        }
        form fieldset {
            padding: 20px 30px;
        }
        input {
            margin-bottom: 20px;
        }
        p {
            margin-bottom: 10px;
            display: none;
            /*隐藏*/
        }
        span[class*="iconfont icon-"] { /*选中类名以icon-开头的元素*/
            margin-left: 30px;
            font-size: 20px;
            color: #55a532;
            /*隐藏*/
            visibility: hidden;

        }

    </style>
</head>
<body>
<form action="" method="" name="myform">
    <fieldset>
        <!--#表单外框标题-->
        <legend>学生档案</legend>
        <!--label 标签起到点击文字自动聚焦的效果-->
         <label for="userpasswd">姓名:</label>
        <input type="text" name="username" id="username"  autofocus>
        <span class="iconfont icon-check-circle" id="name-icon"></span><br> <!--对勾-->

        <p id="nametips">请输入2--6位字符</p>

        密码:<input type="password" name="userpasswd" id="userpasswd">
        <span class="iconfont icon-check-circle"></span><br>
        <p id="passtips">6-16位数字或字母</p>
        电话号: <input type="text" name="telnumber">
        <span class="iconfont icon-check-circle"></span><br>
        <p id="teltips">请输入11位数字</p>
        邮箱: <input type="text" name="useremail"><br>
        <p id="emailtips">请输入地球人能识别的邮箱</p>
        身份证: <input type="text" name="userid"><br>
        <p id="idtips">请输入合法身份证</p>

        <input type="submit">
        <input type="reset">




    </fieldset>


</form>

<script src="获取元素.js"></script>
<script>

    window.onload = function () {
        //1获取表单元素 监听用户如若填写完毕 ---》离焦 ---》js判断是否符合规则

        var form = document.myform;
        var username = form.username //form.name 属性名  姓名对应元素
        var telnumber = form.telnumber


        //onblur 离焦 onfocus 聚焦
        username.onblur = function () {
            //获取用户输入的值进行验证
            var userInput_name = username.value
            var nameReg = /^[\u4e00-\u9fa5]{2,6}$/g //不加引号  表达式
            console.log(userInput_name) //正则表达式匹配 如果test方法 返回true 则符合规定
            //将p元素的文本改变成绿色的您的输入符合规则
            //如果返回false 则p显示 文字变成红色
            if(!nameReg.test(userInput_name)){ //不符合规则
                my$('#nametips').style.display = 'block' //显示
                my$('#nametips').style.color = 'red'
                //切换图标类为X  icon-close-circle

                //将后边给前者,显示x 也就是用x代替class类
                my$('#name-icon').setAttribute('class','iconfont icon-close-circle')
                //控制页面控件是否显示的一个属性 此时显示
                my$('#name-icon').style.visibility = 'visible'
                //图标颜色此时为红色
                my$('#name-icon').style.color = 'red'
                return false;

            }
            else {
                //此时区别前者,符合规则时  显示通过验证,并显示绿色
                my$('#nametips').style.display = 'block' //显示
                my$('#nametips').innerText = '通过验证'
                my$('#nametips').style.color = 'green'
                //√图标显示
                my$('#name-icon').style.visibility = 'visible'
                // 将后边给前者,显示√ 也就是用√代替class类
                my$('#name-icon').setAttribute('class','iconfont icon-check-circle')
                return true;
            }


        }
        telnumber.onblur = function () {
            var userInput_tel = telnumber.value
            var telReg =/^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$/
            //不加引号  表达式
            //正则表达式匹配 如果test方法 返回true 则符合规定
            //将p元素的文本改变成绿色的您的输入符合规则
            //如果返回false 则p显示 文字变成红色
            if(!telReg.test(userInput_tel)){ //不符合规则
                my$('#teltips').style.display = 'block' //显示
                my$('#teltips').style.color = 'red'

            }
            else {
                my$('#teltips').style.display = 'block' //显示
                my$('#teltips').innerText = '通过验证'
                my$('#teltips').style.color = 'green'
            }


        }


    }

</script>
</body>
</html>




/*获取元素  ---》 一个 */
function my$(selector ) {

    /*判断? #   */
    return document.querySelector(selector)
}

function my$All(selector ) {

    /*判断? #   */
    return document.querySelectorAll(selector)
}

猜你喜欢

转载自blog.csdn.net/weixin_44675384/article/details/88919130