1.HTML信息校验代码
<html>
<head>
<meta charset="utf-8">
<title>Music Login Form</title>
<!--css代码声明-->
<style type="text/css">
#showdiv{
width: 530px;
height: 520px;
border: solid 2px grey;
border-radius: 10px;
margin: auto;
margin-top: 10px;
margin-left: 230px;
}
table{
margin: auto;
color: white;
font-family: "Consolas";
margin-top: 10px;
}
span{
font-size: 13px;
}
#codeSpan{
font-size: 20px;
}
body{
background: url(img/backgroud.jpg);
background-repeat: no-repeat;
background-size: cover;
}
tr{
height: 35px;
}
input[type=text]{
border-radius: 10px;
}
input[type=password]{
border-radius: 10px;
}
h3{
color: white;
font-family: "Brush Script MT";
font-size: 30px;
}
</style>
<!--js代码声明-->
<script type="text/javascript">
//验证码
function creatCode(){
//获得四位随机数
var code=Math.floor(Math.random()*9000+1000);
//获取span对象
var span=document.getElementById("codeSpan");
//把随机数赋值给span
span.innerHTML=code;
}
//验证用户名
function checkUname(){
//获取用户信息
var uname=document.getElementById("uname").value;
//制定校验规则
var reg=/^[a-zA-Z]{1,10}$/
//获取span对象
var span=document.getElementById("unameSpan");
//开始校验
if(uname=="" || uname==null){
//得出校验结果
span.innerHTML="*The user name cannot be empty";
span.style.color="red";
return false;
}else if(reg.test(uname)){
//得出校验结果
span.innerHTML="*Legitimate user";
span.style.color="green";
return true;
}else{
//得出校验结果
span.innerHTML="*Out of specification";
span.style.color="red";
return false;
}
}
//验证密码
function checkPwd(){
//获取用户密码
var pwd=document.getElementById("pwd").value;
//制定验证信息
var reg=/^[a-z][\w]{5,7}$/
//获取span对象
var span=document.getElementById("pwdSpan");
//得出校验结果
if(pwd=="" || pwd==null){
span.innerHTML="*The password cannot be empty";
span.style.color="red";
return false;
}else if(reg.test(pwd)){
span.innerHTML="*Legitimate password";
span.style.color="green";
return true;
}else{
span.innerHTML="*Out of specification";
span.style.color="red";
return false;
}
checkConfirm();
}
//验证确认密码
function checkConfirm(){
//获取第一次密码
var pwd=document.getElementById("pwd").value;
//获取确认密码
var confirm=document.getElementById("confirm").value;
//获取span对象
var span=document.getElementById("conSpan");
//开始校验
if(confirm=="" || confirm==null){
//得出校验结果
span.innerHTML="*Password can not be empty"
span.style.color="red";
return false;
}else if(confirm==pwd){
//得出校验结果
span.innerHTML="*Both consistent";
span.style.color="green";
return true;
}else{
//得出校验结果
span.innerHTML="*Not the same";
span.style.color="red";
return false;
}
}
//验证电话
function checkTel(){
return checkField("num",/^1[3,4,5,7,8]\d{9}$/);
}
//验证邮箱
function checkMail(){
return checkField("mail",/^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$/);
}
/*------------------------封装--------------------------*/
function checkField(id,reg){
//获取用户信息
var inp=document.getElementById(id);
var va=inp.value;
var alt=inp.alt;
//获取span对象
var span=document.getElementById(id+"Span");
//得出验证结果
if(va=="" || va==null){
span.innerHTML="*The "+alt+" cannot be empty";
span.style.color="red";
return false;
}else if(reg.test(va)){
span.innerHTML="*Legitimate "+alt;
span.style.color="green";
return true;
}else{
span.innerHTML="*Out of specification";
span.style.color="red";
return false;
}
}
//验证籍贯
function checkAddress(){
//获取籍贯信息
var choice=document.getElementById("address").value;
//获取span对象
var span=document.getElementById("addressSpan");
//开始校验
if(choice!=0){
span.innerHTML="sucessed";
span.style.color="green";
return true;
}else{
span.innerHTML="please choice";
span.style.color="red";
return false;
}
}
//验证爱好
function checkHobby(){
//获取爱好信息
var favs=document.getElementsByName("fav");
//获取span对象
var span=document.getElementById("favSpan");
//开始校验
for(var i=0;i<favs.length;i++){
if(favs[i].checked){
span.innerHTML="sucessed";
span.style.color="green";
return;
}
}
span.innerHTML="Choose at least one";
span.style.color="red";
return false;
}
//验证"self-introduction"
function checkIntro(){
//获取内容信息
var intro=document.getElementById("intro").value;
//获取span对象
var span=document.getElementById("introSpan");
//开始校验
if( intro.length<=10){
span.innerHTML="keep write";
span.style.color="green";
}else{
span.innerHTML="More than words";
span.style.color="red";
}
}
//验证码的校验
function checkCode(){
//获取验证码
var codeSpan=document.getElementById("codeSpan");
//获取输入的验证码
var code=document.getElementById("code").value;
//获取span对象
var span=document.getElementById("showSpan");
if(code=="" || code==null){
//得出校验结果
span.innerHTML="*code can not be empty"
span.style.color="red";
return false;
}else if(code==codeSpan.innerHTML){
//得出校验结果
span.innerHTML="*Both consistent";
span.style.color="green";
return true;
}else{
//得出校验结果
span.innerHTML="*Not the same";
span.style.color="red";
return false;
}
}
//"是否同意公司协议选项"与"立即注册一致"
function checkAgree(){
document.getElementById("sub").disabled=!document.getElementById("agree").checked;
}
//填写完整信息后才能提交成功
function checkSub(){
checkUname();
checkPwd();
checkConfirm();
checkTel();
checkMail();
checkAddress();
checkHobby();
checkCode();
return checkUname()&&checkPwd()&&checkConfirm()&&checkTel()&&checkMail()&&checkAddress()&&checkHobby()&&checkCode();
}
</script>
</head>
<body onload="creatCode()">
<h3 align="center">
<span style="color: orange;font-size: 30px;">M</span>usic
<span style="color: orange;font-size: 30px;">L</span>ogin
<span style="color: orange;font-size: 30px;">F</span>orm
</h3>
<div id="showdiv">
<form action="#" onsubmit="return checkSub()">
<table>
<tr >
<td width="50px">Usename:</td>
<td width="500px">
<input type="text" name="uname" id="uname" value="" onblur="checkUname()"/><span id="unameSpan" >*Within ten words</span>
</td>
</tr>
<tr >
<td>Password:</td>
<td >
<input type="password" name="pwd" id="pwd" value="" onblur="checkPwd()"/><span id="pwdSpan"></span>
</td>
</tr>
<tr >
<td>Confirm:</td>
<td >
<input type="password" name="confirm" id="confirm" value="" onblur="checkConfirm()"/><span id="conSpan"></span>
</td>
</tr>
<tr >
<td>Tel:</td>
<td >
<input type="text" name="num" id="num" value="" alt="tel" onblur="checkTel()"/><span id="numSpan"></span>
</td>
</tr>
<tr >
<td>E-Mail:</td>
<td >
<input type="text" name="mail" id="mail" value="" alt="Mail" onblur="checkMail()"/><span id="mailSpan"></span>
</td>
</tr>
<tr>
<td>Gender:</td>
<td >
F<input type="radio" name="sex" id="" value="1" checked="checked"/>
M<input type="radio" name="sex" id="" value="0" />
</td>
</tr>
<tr>
<td>Native Place:</td>
<td >
<select name="address" id="address" onchange="checkAddress()">
<option value="0">--Choices--</option>
<option value="1">北京</option>
<option value="2">上海</option>
<option value="3">广州</option>
<option value="4">深圳</option>
<option value="5">香港</option>
<option value="5">南昌</option>
<option value="6">赣州</option>
<option value="7">瑞金</option>
<option value="8">西安</option>
</select><span id="addressSpan"></span>
</td>
</tr>
<tr >
<td>Hobby:</td>
<td >
<input type="checkbox" name="fav" id="" value="" onclick="checkHobby()"/>Game
<input type="checkbox" name="fav" id="" value="" onclick="checkHobby()"/>Guitar
<input type="checkbox" name="fav" id="" value="" onclick="checkHobby()"/>basketball
<br />
<input type="checkbox" name="fav" id="" value="" onclick="checkHobby()"/>Music
<input type="checkbox" name="fav" id="" value="" onclick="checkHobby()"/>Movie
<input type="checkbox" name="fav" id="" value="" onclick="checkHobby()"/>Running
<span id="favSpan"></span>
</td>
</tr>
<tr >
<td>Self-introduction:</td>
<td >
<textarea name="intro" id="intro" rows="5" cols="30" onclick="checkIntro()"></textarea>
<span id="introSpan"></span>
</td>
</tr>
<tr >
<td>Identtifying code:</td>
<td >
<input type="text" name="code" id="code" value="" onblur="checkCode()"/>
<span id="codeSpan" onclick="creatCode()" style="background: url(img/code.jpg.gif);color: black;"></span>
<span id="showSpan"></span>
</td>
</tr>
<tr >
<td colspan="2" align="center">
<input type="checkbox" name="" id="agree" value="1" onclick="checkAgree()"/><b>Do you agree the company agreement?</b>
</td>
</tr>
<tr >
<td colspan="2" align="center">
<input type="submit" name="" id="sub" value="Register" disabled="disabled"/>
</td>
</tr>
</table>
</form>
</div>
</body>
</html>
2.可实现的功能
2.1 基本内容
1.展示整个页面,包括背景图,表格的样式,字体样式
2.每次输入的信息后正确input里span的值才会变“绿色”,“红色”表示不符合输入要求,提示用户重新输入
3.用户只有点击“是否同意公司协议”按钮“立即注册”按钮才能点击
4.若用户没按照要求填写内容,“立即注册”也会失效,也就是说不能提交form表单
2.2 页面展示
(1)下面是用户输入的信息全部全部正确时的结果,可以看到“绿色”提示,表明正确
(2)下面是用户没有完全填好信息或者完全没填信息时显示的效果,这两种情况下都提交不了form表单
(3) 制作过程资料
链接:https://pan.baidu.com/s/1I_gKfU1uknnrPn8-M5U8lg
提取码:g2ev