密码匹配中,弱和中的情况无法正常实现
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Document</title>
<link rel="stylesheet" type="text/css" href="css/3-10.css">
<script type="text/javascript" src="js/3-10.js"></script>
</head>
<body>
<!-- 头部 -->
<header>
<div class="wrap clearfix">
<div class="wrap_left">
<img src="素材/logo.png">
<span class="wrap_left_1">慕课高铁客户服务中心 | </span>
<span class="wrap_left_2">客户服务</span>
</div>
<div class="wrap_right clearfix">
<span>意见反馈</span>
<a href="#" class="high">imooc.com</a>
<span> 您好,请</span>
<a href="#" class="high shou">登录</a>
<span class="shou"> | 注册 </span>
<div class="wrap_right_1 clearfix">
<div class="dropdown">
<div class="dropdown_1">
<span>我的IMOOC</span>
<span>▼ </span>
</div>
<div class="dropdown_2">
<a href="#">未完成订单</a>
<a href="#" class="dropdown_2_1">已完成订单(改/退)</a>
<a href="#" class="dropdown_2_1">我的保险</a>
<a href="#">查看个人信息</a>
<a href="#" class="dropdown_2_1">账户安全</a>
<a href="#" class="dropdown_2_1">常用联系人</a>
<a href="#">重点旅客预约</a>
<a href="#" class="dropdown_2_1">遗失物品查找</a>
<a href="#" class="dropdown_2_1">服务查询</a>
<a href="#">投诉</a>
<a href="#">建议</a>
</div>
</div>
<div class="phone shou">
<img src="素材/未标题-1.png">
<span>手机版</span>
</div>
</div>
</div>
</div>
</header>
<!-- 主体 -->
<div class="main">
<div class="main_wrap">
<div class="title">
<span>您现在的位置:</span>
<span class="sign">客运首页>注册</span>
</div>
<div class="info">
<div class="info_title">账户信息</div>
<form>
<table>
<tr>
<td class="first"><span class="star">*</span> 用 户 名:</td>
<td><input type="text" id="username" placeholder="用户名设置成功后不可修改"></td>
<td><span class="col item_">6-30位字母、数字或"_",字母开头</span></td>
</tr>
<tr>
<td><span class="star">*</span>登录密码:</td>
<td><input type="password" id="password" placeholder="6-20位字母,数字或符号"></td>
<td>
<div class="pw pw1"></div>
<div class="pw pw2"></div>
<div class="pw pw3"></div>
</td>
</tr>
<tr class="col1" id="col1">
<td></td>
<td><span class="item_"></span></td>
<td></td>
</tr>
<tr>
<td><span class="star">*</span>确认密码:</td>
<td><input type="password" id="password_check" placeholder="请再次输入密码"></td>
<td><span class="item_"></span></td>
</tr>
<tr class="chinaname">
<td><span class="star">*</span>姓 名:</td>
<td><input type="text" id="ch_name" placeholder="请输入姓名"></td>
<td class="chinaname_1">
<span class="name_rule col item_">姓名填写规则</span>
<div class="name_rules">
1.确认姓名中生僻字无法输入时,可用生僻字拼音或同音字替代。<br>
2.输入姓名保存后,遇有系统无法正确显示的汉字,可用该汉子的拼音或同音字重新修改
后保存。<br>
3.姓名中有繁体字无法输入时,可用简体昔代。<br>
4.姓名较长,汉字与英文字符合计超过30个( 1个汉子算2个字符)的,需按姓名中第一
个汉字或英文字符开始按顺序连续输入30个字符(空格字符不输入) , 其中英文字符输
入时不去别大写
</div>
</td>
</tr>
<tr>
<td><span class="star">*</span>证件类型:</td>
<td class="xuan">
<select>
<option value="id">身份证</option>
<option value="hz">护照</option>
<option value="tbz">台胞证</option>
</select>
</td>
<td><span></span></td>
</tr>
<tr>
<td><span class="star">*</span>证件号码:</td>
<td><input type="text" id="id_number" placeholder="请输入证件号"></td>
<td><span class="item_"></span></td>
</tr>
<tr>
<td>邮 箱:</td>
<td><input type="email" id="email" placeholder="请输入邮箱"></td>
<td><span class="item_"></span></td>
</tr>
<tr>
<td><span class="star">*</span>手机号码:</td>
<td><input type="text" id="phone_num" placeholder="请输入手机号码"></td>
<td><span class="col item_">请填写手机号码,稍后向该手机号码发送验证码</span></td>
</tr>
<tr>
<td><span class="star">*</span>旅客类型:</td>
<td class="xuan">
<select>
<option value="cr">成人</option>
<option value="child">儿童</option>
<option value="old">学生</option>
<option value="old">残疾军人</option>
<option value="old">伤残人民警察</option>
</select>
</td>
<td><span></span></td>
</tr>
</table>
</form>
<div class="rule">
<input type="checkbox" id="checkbox1">
我已阅读并同意遵守
<a href="#">《中国铁路客户服务中心网站客户服务条款》</a>
</div>
<button id="handup"><a href="javascript:;" id="next">下一步</a></button>
</div>
</div>
</div>
<!-- 底部 -->
<footer>
<div>关于我们|网站声明</div>
<div class="foot">Copyright © 2017 imooc.com All Rights Reserved|京ICP备 13046642号-2</div>
</footer>
</body>
</html>
*{
margin: 0;
padding: 0;
}
.clearfix:after {
content:".";
display:block;
height: 0;
visibility: hidden;
clear:both;
}
.clearfix {zoom:1;}
a{
text-decoration: none;
}
body{
min-width: 1200px;
}
/* 头部 */
header{
height: 130px;
background: #eee;
}
.shou{
cursor: pointer;
}
.wrap{
width: 1200px;
margin: 0 auto;
height: 130px;
}
.wrap_left{
height: 130px;
line-height: 130px;
float: left;
}
.wrap_left img{
vertical-align: middle;
cursor: pointer;
}
.wrap_left span.wrap_left_1{
font-size: 20px;
font-weight: bold;
}
.wrap_left span.wrap_left_2{
font-size: 15px;
color: gray;
}
.wrap_right{
float: right;
height: 130px;
line-height: 130px;
font-size: 15px;
}
.wrap_right a.high{
color: rgb(251, 116, 3);
}
.wrap_right_1{
float: right;
position: relative;
}
.dropdown{
float: left;
}
.dropdown_1{
cursor: pointer;
}
.dropdown_2{
width: 200px;
height: 330px;
line-height: 30px;
border: 1px solid rgb(251, 116, 3);
padding: 20px;
position: absolute;
top: 80px;
left: 0;
background-color: white;
display: none;
}
.dropdown_1:hover~.dropdown_2{
display: block;
}
.dropdown_2:hover{
display: block;
}
.dropdown_2 a{
display: block;
color: gray;
}
a.dropdown_2_1{
border-bottom: 1px dashed gray;
}
.dropdown_2 a:hover{
color: rgb(251, 116, 3);
}
.phone{
float: right;
}
.phone img{
width: 20px;
height: 30px;
vertical-align: middle;
}
/* 主体 */
.main{
width: 100%;
height: 1000px;
border-bottom: 2px solid rgb(36,135,201);
border-top: 2px solid rgb(36,135,201);
}
.main_wrap{
width:1200px;
margin: 0 auto;
font-size: 15px;
}
.title{
margin-top: 20px;
margin-bottom: 20px;
}
.sign{
color: gray;
}
.info{
width: 100%;
height: 800px;
border: 1px solid rgb(251, 116, 3);
border-radius: 20px;
}
.info_title{
width: 100%;
height: 80px;
background-color: rgb(251, 116, 3);
color: white;
border-radius: 20px;
padding-left: 30px;
line-height: 80px;
box-sizing: border-box;
font-size: 20px;
}
.star{
color: rgb(251, 116, 3);
}
form{
margin-top: 70px;
margin-left: 300px;
line-height: 40px;
}
td.xuan{
width: 218px;
}
select{
width: 220px;
}
tr td:first-child{
width: 120px;
text-align: right;
padding-right: 20px;
}
tr td:nth-child(2){
width: 250px;
}
div.rule{
margin-left: 415px;
}
.pw{
width: 40px;
height: 10px;
margin-right: 5px;
float: left;
}
.pw1{
background-color: red;
}
.pw2{
background-color: gray;
}
.pw3{
background-color: gray;
}
.col{
color: rgb(251, 116, 3);
}
tr.chinaname{
position: relative;
}
div.name_rules{
position: absolute;
width: 500px;
height: 300px;
border: 1px solid rgb(36,135,201);
top: 500px;
left: 1050px;
display: none;
padding: 10px;
background-color: white;
}
.chinaname_1{
cursor: pointer;
}
.chinaname_1:hover .name_rules{
display: block;
}
button{
width: 150px;
height: 60px;
background-color: rgb(251, 116, 3);
border: none;
border-radius: 10px;
margin-left: 600px;
margin-top: 80px;
}
button a{
color: white;
}
#col1{
color: red;
display: none;
}
/* 底部 */
footer{
width: 100%;
height: 100px;
background-color: #eee;
color: gray;
font-size: 15px;
text-align: center;
padding-top: 20px;
box-sizing: border-box;
}
.foot{
margin-top: 20px;
}
window.onload=function(){
var userAccount=document.getElementById('username');
var password=document.getElementById('password');
var col1=document.getElementById('col1');
var userPass_=document.getElementById('password_check');
var items=document.querySelectorAll('.item_');
var pw=document.querySelectorAll('.pw');
var userName=document.getElementById('ch_name');
var information=document.getElementById('id_number');
var email=document.getElementById('email');
var telephone=document.getElementById('phone_num');
var handup=document.getElementById('handup');
var next=document.getElementById('next');
var checkBtn=document.getElementById('checkbox1');
var reg=/正则/;
var test1=false;
var test2=false;
var test3=false;
var test4=false;
var test5=false;
var test6=false;
var test7=false;
// 用户名
userAccount.onblur=function(){
reg=/^[a-zA-Z]\w{5,29}$/;
if (this.value=='')
{
items[0].innerHTML='不能为空';
items[0].style.color='red';
}
else if(!reg.exec(this.value))
{
items[0].innerHTML='请输入6-30位数字、字母、_,字母开头';
items[0].style.color='red';
}
else
{
items[0].innerHTML='输入正确';
items[0].style.color='green';
test1=true;
}
}
// 密码
password.onblur=function(){
reg=/^\S{6,20}$/;
if (this.value=='')
{
items[1].innerHTML='不能为空';
items[1].style.color='red';
col1.style.display='table-row';
}
else if(!reg.exec(this.value))
{
items[1].innerHTML='6-20位字母,数字或符号';
items[1].style.color='red';
col1.style.display='table-row';
}
// 弱(纯数字、纯字母或者纯符号)
// else if (/^[1-9]{6-20}$/.exec(this.value)||/^[a-zA-Z]{6-20}$/.exec(this.value)||/^\W{6-20}$/.exec(this.value))
else if (/^[1-9]{6,20}$/.test(this.value) || /^[a-zA-Z]{6,20}$/.test(this.value) || /^\W{6,20}$/.test(this.value)) {
items[1].innerHTML = '输入正确';
items[1].style.color = 'green';
test2 = true;
pw[0].style.backgroundColor = 'red';
pw[1].style.backgroundColor = 'gray';
pw[2].style.backgroundColor = 'gray';
col1.style.display = 'table-row';
console.log('ruo')
}
// 中(两种类型的结合)
// else if (/^[1-9|a-z]{6-20}$/i.exec(this.value)||/^[\W|a-z]{6-20}$/i.exec(this.value)||/^[\W|1-9]{6-20}$/i.exec(this.value))
else if (/^[1-9|a-z]{6,20}$/i.test(this.value) || /^[\W|a-z]{6,20}$/i.test(this.value) || /^[\W|1-9]{6,20}$/i.test(this.value)) {
items[1].innerHTML = '输入正确';
items[1].style.color = 'green';
test2 = true;
pw[0].style.backgroundColor = 'red';
pw[1].style.backgroundColor = 'yellow';
pw[2].style.backgroundColor = 'gray';
console.log('zhong');
}
// 强(三种类型的结合)
// else if (/^(?![a-zA-Z]+$)(?!\d+$)(?![`~!@#$%^&*()_+<>?:"{},.\/;'[\]]+$)(?![a-zA-Z\d]+$)(?![a-zA-Z`~!@#$%^&*()_+<>?:"{},.\/;'[\]]+$)(?![\d`~!@#$%^&*()_+<>?:"{},.\/;'[\]]+$)[a-zA-Z\d`~!@#$%^&*()_+<>?:"{},.\/;'[\]]{6,20}$/) {
else if (/\W[a-zA-Z]*/.test(this.value)) {
items[1].innerHTML = '输入正确';
items[1].style.color = 'green';
test2 = true;
pw[0].style.backgroundColor = 'red';
pw[1].style.backgroundColor = 'yellow';
pw[2].style.backgroundColor = 'green';
console.log('qiang')
}
}
// 确认密码
userPass_.onfocus=function(){
items[2].innerHTML='请再次输入密码';
items[2].style.color='green';
}
userPass_.onblur=function(){
if (this.value=='')
{
items[2].innerHTML='再次输入密码不能为空';
items[2].style.color='red';
}else{
if (this.value!=password.value)
{
items[2].innerHTML='两次密码输入不相同';
items[2].style.color='red';
}else{
items[2].innerHTML='再次输入密码正确';
items[2].style.color='green';
test3=true;
}
}
}
// 姓名
userName.onfocus=function(){
items[3].innerHTML='请输入姓名';
items[3].style.color='green';
}
userName.onblur=function(){
// reg=/^[\w\u4e00-\u9fcc]{3,30}$/;
reg=/^([a-zA-Z]{3,30}|[\u4e00-\u9fa5]{2,15})$/;
if (this.value=='')
{
items[3].innerHTML='不能为空';
items[3].style.color='red';
}
else if(!reg.exec(this.value))
{
items[3].innerHTML='姓名只能包含中文或英文,且字符在3-30个之间';
items[3].style.color='red';
}
else
{
items[3].innerHTML='输入正确';
items[3].style.color='green';
test4=true;
}
}
// 身份证号码
information.onfocus=function(){
items[4].innerHTML='请输入身份证号';
items[4].style.color='green';
}
information.onblur=function(){
reg=/^\d{17}[0-9x]$/i;
if (this.value=='')
{
items[4].innerHTML='不能为空';
items[4].style.color='red';
}
else if(!reg.exec(this.value))
{
items[4].innerHTML='请输入18位身份证号';
items[4].style.color='red';
}
else
{
items[4].innerHTML='输入正确';
items[4].style.color='green';
test5=true;
}
}
// email
email.onfocus=function(){
items[5].innerHTML='请输入正确邮箱格式';
items[5].style.color='green';
}
email.onblur=function(){
reg=/^\w+@\w+\.+[a-zA-Z_]{2,4}$/;
if (this.value=='')
{
items[5].innerHTML='不能为空';
items[5].style.color='red';
}
else if(!reg.exec(this.value))
{
items[5].innerHTML='请输入正确邮箱格式';
items[5].style.color='red';
}
else
{
items[5].innerHTML='输入正确';
items[5].style.color='green';
test6=true;
}
}
// 手机号码
telephone.onfocus=function(){
items[6].innerHTML='请输入您的手机号码';
items[6].style.color='green';
}
telephone.onblur=function(){
reg=/^1[0,3,4,5,6,7,8,9]\d{9}$/;
if (this.value=='')
{
items[6].innerHTML='不能为空';
items[6].style.color='red';
}
else if(!reg.exec(this.value))
{
items[6].innerHTML='请输入正确手机号';
items[6].style.color='red';
}
else
{
items[6].innerHTML='输入正确';
items[6].style.color='green';
test7=true;
}
}
// 提交按钮
handup.onclick=function(){
if (test1==false||test2==false||test3==false||test4==false||test5==false||test6==false||test7==false||checkBtn.checked==false)
{
// next.href='#';
alert('请完善信息');
}else{
next.href='https://www.imooc.com';
// window.event.returnValue=false;
}
}
}1
收起
正在回答
3回答
你好,同学说的直接写是什意思呢? 因为正常情况下就是密码为空的时候直接填入,测试没有发现问题哦。建议重新测一下,可能不小心输入了错误的内容。也可以把具体是如何操作的详细描述一下(可以配合截图),以便老师为你准确的解答。
祝学习愉快 ,望采纳。
组件化思想开发电商网页 18版
- 参与学习 人
- 提交作业 467 份
- 解答问题 4826 个
本路径带你通过系统学习HTML5、JavaScript、jQuery的进阶知识,不仅如此,还会学习如何利用组件化的思想来开发网页,知识点+案例,使得所学可以更好的得到实践。
了解课程








恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星