HTML部分
<head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Document</title><linkrel="stylesheet"href="//at.alicdn.com/t/font_1790290_8u74otvadap.css"/><body><div class="box"><input type="password" class="ipt" /><i class="iconfont icon-browse"></i><p class="text">请输入6-16位密码</p><i class="cw"></i></div></body>
CSS部分
<style>.box {width: 400px;height: 40px;margin: 50px 50px;background-color: skyblue;border-radius: 100px;/* line-height:40px; */}.box .ipt {float: left;height: 20px;outline: none;border: 0;padding-left: 15px;margin: 10px 5px 5px 15px;}.box i.iconfont {font-size: 20px;}i.icon-cuowutishitianchong,i.icon-duigou1 {color: red;}.box p.text {display: inline-block;margin: 10px auto;}</style>
JavaScript部分
<div class="box"><input type="password" class="ipt" /><i class="iconfont icon-browse"></i><p class="text">请输入6-16位密码</p><i class="cw"></i></div><script>var input = document.querySelector(".ipt");var watch = document.querySelector(".icon-browse");var text = document.querySelector(".text");var message = document.querySelector(".cw");var flag = 0;watch.onclick = function () {if (flag == "0") {watch.className = "iconfont icon-jinzhitishi";input.type = "text";flag = 1;} else {watch.className = "iconfont icon-browse";input.type = "password";flag = 0;}};// 首先判断的事件是表单失去焦点 onblur// 如果输入正确则提示正确的信息颜色为绿色小图标变化// 如果输入不是6到16位,则提示错误信息颜色为红色 小图标变化// 因为里面变化样式较多,我们采取className修改样式input.onblur = function () {if (this.value.length < 6 || this.value.length > 16) {console.log("错误");message.className = "iconfont icon-cuowutishitianchong";text.innerHTML = "位数错误应为6-16位";} else {message.className = "iconfont icon-duigou1";text.innerHTML = "您输入的正确";}};</script>
