JS实现输入检验

效果展示

javascript 点击检测输入内容 测试输入框输入js_css


javascript 点击检测输入内容 测试输入框输入js_javascript 点击检测输入内容_02

概述

本文讲解如何书写,可以根据输入内容的在鼠标失去焦点的时候,进行检验的输入框。

构建HTML框架

<body>
    <div class="register">
        <input type="password" class="ipt">
        <p class="message">请输入6~16位密码</p>
    </div>
</body>

CSS样式

<style>
        div {
            /* 设置盒子宽度 */
            width: 600px;
            /* 设置盒子外边距位置 */
            margin: 100px auto;
        }
        
        .message {
            /* 设置信息内容为行内块 */
            display: inline-block;
            /* 设置字体大小 */
            font-size: 12px;
            /* 设置字体颜色 */
            color: #999;
            /* 设置信息显示的图片 正常的情况*/
            background: url(images/mess.png) no-repeat left center;
            /* 设置内边距左边的位置 */
            padding-left: 20px;
        }
        
        .wrong {
            /* 错误情况 */
            /* 修改字体颜色 */
            color: red;
            background-image: url(images/wrong.png);
        }
        
        .right {
            /* 正确情况 */
            color: green;
            background-image: url(images/right.png);
        }
    </style>

JS逻辑

<script>        
        // 1.获取元素
        var ipt = document.querySelector('.ipt');
        var message = document.querySelector('.message');
        //2. 注册事件 失去焦点
        ipt.onblur = function() {            
            if (this.value.length < 6 || this.value.length > 16) {  // 获取内容的长度 然后判断是否在6~16之间 如果不在的话
                // 显示报错信息                
                message.className = 'message wrong'; // 修改类名
                message.innerHTML = '您输入的位数不对要求6~16位';
            } else {  // 正确的情况
                message.className = 'message right';
                message.innerHTML = '您输入的正确';
            }
        }
</script>

完整代码

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        div {
            /* 设置盒子宽度 */
            width: 600px;
            /* 设置盒子外边距位置 */
            margin: 100px auto;
        }
        
        .message {
            /* 设置信息内容为行内块 */
            display: inline-block;
            /* 设置字体大小 */
            font-size: 12px;
            /* 设置字体颜色 */
            color: #999;
            /* 设置信息显示的图片 正常的情况*/
            background: url(images/mess.png) no-repeat left center;
            /* 设置内边距左边的位置 */
            padding-left: 20px;
        }
        
        .wrong {
            /* 错误情况 */
            /* 修改字体颜色 */
            color: red;
            background-image: url(images/wrong.png);
        }
        
        .right {
            /* 正确情况 */
            color: green;
            background-image: url(images/right.png);
        }
    </style>
</head>

<body>
    <div class="register">
        <input type="password" class="ipt">
        <p class="message">请输入6~16位密码</p>
    </div>
    <script>        
        // 1.获取元素
        var ipt = document.querySelector('.ipt');
        var message = document.querySelector('.message');
        //2. 注册事件 失去焦点
        ipt.onblur = function() {            
            if (this.value.length < 6 || this.value.length > 16) {  // 获取内容的长度 然后判断是否在6~16之间 如果不在的话
                // 显示报错信息                
                message.className = 'message wrong'; // 修改类名
                message.innerHTML = '您输入的位数不对要求6~16位';
            } else {  // 正确的情况
                message.className = 'message right';
                message.innerHTML = '您输入的正确';
            }
        }
    </script>
</body>

</html>