输入检验输入框
效果展示
概述
本文讲解如何书写,可以根据输入内容的在鼠标失去焦点的时候,进行检验的输入框。
构建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>