老师,帮忙检查,看一下需要优化的地方

来源:4-8 编程练习

慕仙本仙_

2020-02-19 22:19:36

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title></title>

<style>

.top{

background-color: rgb(135,206,235);

color:rgb(255,255,255);

font-size: 25px;

font-weight:700;

font-family: "微软雅黑";

height:50px;

line-height: 50px;

}

.bottom{

width:100%;

height: 800px;

font-family: "微软雅黑";

background-color: #EEEEEE;

}

table{

width:100%;

margin:0 auto;

padding-top:120px;

}

.bottom td:first-child{

width:45%;

text-align: right;

height:30px;

}

.true{

display: inline;

color:red;

}

#btn{

margin-left:45%;

background-color: rgb(135,206,235);

border:none;

width:80px;

height:30px;

margin-top:30px;

}

#mes{

text-align:center;

}

</style>

</head>

<body>

<div class="top">

用户注册

</div>

<div class="bottom">

<table>

<tr>

<td>

用户名:

</td>

<td>

<input id=""/>

<span class="true"></span> 

</td>

</tr>

<tr>

<td>

登陆密码:

</td>

<td>

<input id="password"/>

<span class="true"></span>

</td>

</tr>

<tr>

<td>

确认密码:

</td>

<td>

<input />

<span class="true"></span> 

</td>

</tr>

<tr>

<td>

姓名:

</td>

<td>

<input id="name"/>

<span class="true"></span> 

</td>

</tr>

<tr>

<td>

性别:

</td>

<td>

<select>

<option>

</option>

<option>

</option>

</select>

</td>

</tr>

<tr>

<td>

身份证号码:

</td>

<td>

<input id="myId"/>

<span class="true"></span> 

</td>

</tr>

<tr>

<td>

邮箱:

</td>

<td>

<input />

<span class="true"></span> 

</td>

</tr>

<tr>

<td>

手机号码:

</td>

<td>

<input />

<span class="true"></span> 

</td>

</tr>

</table>

<button id="btn">提交</button>

<br />

<span id='mes'></span>

</div>

<script type="text/javascript">

var btn=document.getElementById('btn');

var userInputs=document.getElementsByTagName('input');

var myMes=document.getElementsByClassName('true');

var spanMes=document.getElementById('mes');

//用户输入的信息

var userMesg={ 

'username' :userInputs[0],

'password' :userInputs[1],

'passwordx' :userInputs[2],

'name' :userInputs[3],

'idnum' :userInputs[4],

'email'    :userInputs[5],

'tel' :userInputs[6]

};

//正则表达式

var pattern={

'username' :/^[a-zA-Z][a-zA-Z0-9_]{5,19}$/,

'password' :/^\S{6,18}$/,

'name' :/^[\u4e00-\u9fa5]{2,4}$/,

'idnum' :/^[0-9]{17}[0-9|x]$/,

'email'    :/^\w+@([a-z]+\.[a-z]+$)/,

'tel' :/^1(3[0-9]|47|5[0-3]|5[5-9]|8[0125-9])\d{8}$/

};

//错误信息提示

var errorMes={

'username' :"6-20位的英文字母、数字、下划线,字母开头",

'password' :"6-18位的英文字母、数字、特殊符号,不能有空格",

'passwordx' :"两次输入的密码不一致",

'name' :"真实姓名要求是2-4个汉字",

'idnum' :"15或18位数字(若最后一位是X则原样输入)",

'email'    :"电子邮箱格式不正确",

'tel' :"请输入真实的11位手机号码"

};

//空白span提示标签

var trueMes={

'username' :myMes[0],

'password' :myMes[1],

'passwordx' :myMes[2],

'name' :myMes[3],

'idnum' :myMes[4],

'email'    :myMes[5],

'tel' :myMes[6]

}

//空白测试

var test={

'username' :false,

'password' :false,

'passwordx' :false,

'name' :false,

'idnum' :false,

'email'    :false,

'tel' :false

}

//失去焦点的判断

function blurEvent(tempUser,regExp){

if(regExp.test(tempUser.value)){

return true;

}else{

return false;

}

}

//用户名的匹配

userMesg.username.onblur=function(){

var confirm=blurEvent(userMesg.username,pattern.username);

if(confirm){

trueMes.username.innerHTML='ok';

trueMes.username.style.color="green";

test.username=true;

}else{

trueMes.username.innerHTML=errorMes.username;

}

}

//登陆密码的匹配

userMesg.password.onblur=function(){

var confirm=blurEvent(userMesg.password,pattern.password);

if(confirm){

trueMes.password.innerHTML='ok';

trueMes.password.style.color="green";

test.password=true;

}else{

trueMes.password.innerHTML=errorMes.password;

}

}

//确认密码的匹配

userMesg.passwordx.onblur=function(){

if(this.value==userMesg.password.value){

trueMes.passwordx.innerHTML='ok';

trueMes.passwordx.style.color="green";

test.passwordx=true;

}else{

trueMes.passwordx.innerHTML=errorMes.passwordx;

}

}

//姓名的匹配

userMesg.name.onblur=function(){

var confirm=blurEvent(userMesg.name,pattern.name);

if(confirm){

trueMes.name.innerHTML='ok';

trueMes.name.style.color="green";

test.name=true;

}else{

trueMes.name.innerHTML=errorMes.name;

}

}

//身份证号码的匹配

userMesg.idnum.onblur=function(){

var confirm=blurEvent(userMesg.idnum,pattern.idnum);

if(confirm){

trueMes.idnum.innerHTML='ok';

trueMes.idnum.style.color="green";

test.idnum=true;

}else{

trueMes.idnum.innerHTML=errorMes.idnum;

}

}

//邮箱的匹配

userMesg.email.onblur=function(){

var confirm=blurEvent(userMesg.email,pattern.email);

if(confirm){

trueMes.email.innerHTML='ok';

trueMes.emai.style.color="green";

test.email=true;

}else{

trueMes.email.innerHTML=errorMes.email;

}

}

//手机号码的匹配

userMesg.tel.onblur=function(){

var confirm=blurEvent(userMesg.tel,pattern.tel);

if(confirm){

trueMes.tel.innerHTML='ok';

trueMes.tel.style.color="green";

test.tel=true;

}else{

trueMes.tel.innerHTML=errorMes.tel;

}

}

btn.onclick=function(){

if(test.username==false||test.password==false||test.passwordx==false||

test.name==false||test.idnum==false||test.email==false||test.tel==false){

spanMes.style.display="block";

spanMes.style.color="red";

spanMes.innerHTML="请完善相关信息";

}else{

spanMes.style.color="green";

spanMes.innerHTML="提交成功";

spanMes.style.display="block";


}

}

</script>

</body>

</html>


写回答

1回答

好帮手慕慕子

2020-02-20

同学你好,对于你代码中存在的问题解答如下:

  1. 如下所示email单词拼写错误,建议修改:

    http://img.mukewang.com/climg/5e4dec86092e468c10400574.jpg

  2. 建议优化:密码框建议修改type类型为password,效果实现会更好。

如果我的回答帮助到了你,帮助到了你,欢迎采纳,祝学习愉快~

0

0 学习 · 14456 问题

查看课程