html+css+javascript实现注册表单,年月日三级级联,表单验证,图片切换

<!--注册主界面-->

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
<TITLE>注册界面 </TITLE>
<style>
body{
font-family:"幼圆";
font-size:12px;






}


</style>
<script src="check.js"></script>
</head>
<body  background="22.jpg" οnlοad="initValues();">
<form action="success.html" name="frm" onSubmit="return checkAll();">
<table width="657" border="0" align="center" >
<tr>
<td width="22%" height="54" align="right"><span class="STYLE1"><span class="STYLE2">用&nbsp;户&nbsp;</span>名</span>:</td>


<td width="48%"><input type="text" name="username"  οnblur="checkName()" ></td>
 
<td width="30%" align="left"><div id="name">&nbsp;</div></td>
</tr>
<tr>
<td height="61"align="right" >密&nbsp;&nbsp;&nbsp;&nbsp;码:</td>
<td><input type="password" name="userpass"  οnblur="checkPass();"></td>
<td  align="left"><div id="pass">&nbsp;</div></td>
</tr>
<tr>
<td height="48" align="right" >确认密码:</td>
<td><input type="password" name="repass" onBlur="checkRepass();"></td>
<td align="left"><div id="rpass">&nbsp;</div></td>
</tr>
<tr>
<td height="48" align="right">邮&nbsp;&nbsp;&nbsp;&nbsp;箱:</td>
<td><input type="text" name="email" onBlur="checkMail();"></td>
<td align="left"><div id="mail">&nbsp;</div></td>
</tr>
<tr>
<td height="46" align="right" >性&nbsp;&nbsp;&nbsp;&nbsp;别:</td>
<td><input type="radio" name="sex" checked>女<input type="radio" name="sex">
 男</td>
<td  align="left">&nbsp;</td>
</tr>
<tr>
<td align="right">出生日期:</td>
<td><div>
<select id="year" οnchange="yearChange()">
<option>选择年</option>
</select>年
<select id="month" οnchange="monthChange()">
<option value="">选月</option>
</select>月
<select id="day">
<option>选择日</option>
</select>日
</div>

</td>
</tr>
<tr>
<td height="63" align="right" >兴&nbsp;&nbsp;&nbsp;&nbsp;趣:</td>
<td onClick="checkHobby()">
唱歌
 <input type="checkbox" name="hobby" value="basketball">
舞蹈
<input type="checkbox" name="hobby" value="game">
跑步
<input type="checkbox" name="hobby" value="music"> </td>
<td  align="left"><div id="hob">&nbsp;</div></td>
</tr>
<tr>
<td height="54" align="right" >服务条款:</td>
<td><textarea name="agreement" cols="25" rows="10">这里是服务条款...
</textarea>
 <input type="checkbox" name="agree" onClick="checkArgee();">
 同意 </td>
<td align="left"><div id="agr">&nbsp;</div></td>
</tr>
<tr>
<td height="54" colspan="2" align="center"><label>  
   <input type="submit" value="注册">
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
   <input name="reset" type="submit" value=" 重 置 ">
        </label></td>


<td align="left">&nbsp;</td>
</tr>
</table>
</form>
</body>

</html>

运行的效果图:



<!--js代码-->

<!--用户名 -->
function checkName(){
var name=frm.username.value;
if(name.length>=6 && name.length<=12){
var flag=false;
for(var i=0;i<name.length;i++){
if((name.charAt(i)>='a'&&name.charAt(i)<='z')||(name.charAt(i)>='A'&&name.charAt(i)<='Z')||name.charAt(i)=='_'||name.charAt(i)=='$'){
flag=true;
}else{
flag=false;
break;
}
}
if(flag){
document.getElementById("name").style.color="green";
document.getElementById("name").style.fontFamily="华文楷体";
document.getElementById("name").style.fontSize="12px";
document.getElementById("name").innerHTML="√";
return true;
}else{
document.getElementById("name").style.color="red";
document.getElementById("name").style.fontFamily="华文楷体";
document.getElementById("name").style.fontSize="12px";
document.getElementById("name").innerHTML="× 含非法字符!";
return false;
}
}else{
document.getElementById("name").style.color="red";
document.getElementById("name").style.fontFamily="华文楷体";
document.getElementById("name").style.fontSize="12px";
document.getElementById("name").innerHTML="× 长度必须在6~12之间!";
return false;
}
}
<!--密码 -->
function checkPass(){
var pass=frm.userpass.value;
if(pass.length<6){
document.getElementById("pass").style.color="red";
document.getElementById("pass").style.fontFamily="华文楷体";
document.getElementById("pass").style.fontSize="12px";
document.getElementById("pass").innerText="× 密码必须>6!";
return false;
}else{
document.getElementById("pass").style.color="green";
document.getElementById("pass").style.fontFamily="华文楷体";
document.getElementById("pass").style.fontSize="12px";
document.getElementById("pass").innerText="√";
return true;
}
}
<!--重置密码 -->
function checkRepass(){
var pass=frm.userpass.value;
var rpass=frm.repass.value;
if(pass==rpass&&rpass.length>6){
document.getElementById("rpass").style.color="green";
document.getElementById("rpass").style.fontFamily="华文楷体";
document.getElementById("rpass").style.fontSize="12px";
document.getElementById("rpass").innerText="√";
return true;
}else{
document.getElementById("rpass").style.color="red";
document.getElementById("rpass").style.fontFamily="华文楷体";
document.getElementById("rpass").style.fontSize="12px";
document.getElementById("rpass").innerText="× 重复密码和密码不一致!";
return false;
}
}
<!--邮箱 -->
function checkMail(){
var email=frm.email.value;
if(email.indexOf("@")==-1||email.indexOf(".")==-1){
document.getElementById("mail").style.color="red";
document.getElementById("mail").style.fontFamily="华文楷体";
document.getElementById("mail").style.fontSize="12px";
document.getElementById("mail").innerText="× 邮箱格式不正确!";
return false;
}else{
document.getElementById("mail").style.color="green";
document.getElementById("mail").style.fontFamily="华文楷体";
document.getElementById("mail").style.fontSize="12px";
document.getElementById("mail").innerText="√";
return true;
}
}
<!--出生日期 -->
var year;
var month;
var day;
function initValues(){
year=document.getElementById("year");
month=document.getElementById("month");
day=document.getElementById("day");
//先添加年,要判断是否为闰年
for(var i=1900;i<=2013;i++){
year.add(new Option(i,i));
}
//月直接添加
}


function yearChange(){
if(year.value!=""){
for(var i=1;i<=12;i++){
month.add(new Option(i,i));
}
}
}
function monthChange(){
var daysOfMonth= new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
day.length=1;//year%4==0&&year%100!=0||year%400==0


if(((year.value%100!=0&&year.value%4==0)||year.value%400==0)&&month.selectedIndex==2){
for(var i=1;i<=29;i++){
day.add(new Option(i,i));
}
}else{
for(var i=0;i<daysOfMonth.length;i++){
if(month.selectedIndex-1==i){
for(var j=1;j<=daysOfMonth[i];j++){
day.add(new Option(j,j));
}
break;
}
}
}
}
<!--爱好 -->
function checkHobby(){
var hobbys=document.getElementsByName("hobby");
var flag=false;
for(var i=0;i<hobbys.length;i++){
if(hobbys[i].checked){
flag=true;
break;
}
}
if(flag){
document.getElementById("hob").style.color="green";
document.getElementById("hob").style.fontFamily="华文楷体";
document.getElementById("hob").style.fontSize="12px";
document.getElementById("hob").innerText="√";
return true;
}else{
document.getElementById("hob").style.color="red";
document.getElementById("hob").style.fontFamily="华文楷体";
document.getElementById("hob").style.fontSize="12px";
document.getElementById("hob").innerText="× 至少需要选择一个爱好!";
return false;
}


}
<!--同意 -->
function checkArgee(){
var cbx=frm.agree;
if(cbx.checked){
document.getElementById("agr").style.color="green";
document.getElementById("agr").style.fontFamily="华文楷体";
document.getElementById("agr").style.fontSize="12px";
document.getElementById("agr").innerText="√";
return true;
}else{
document.getElementById("agr").style.fontFamily="华文楷体";
document.getElementById("agr").style.fontSize="12px";
document.getElementById("agr").style.color="red";
document.getElementById("agr").innerText="× 必须同意服务条款才能注册!";
return false;
}
}
<!--所有 -->
function checkAll(){
if(checkName()&&checkPass()&&checkRepass()&&checkMail()&&checkYear()&&checkHobby()&&checkArgee()){
return true;
}else{
return false;
}
}

在主界面中添加超链接到js文件,就可以实现表单验证



<!--图片切换效果-->

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<script>
var currentImg=1;
var maxImg=4;
var timer;
function show(num){
if(num){
clearTimeout(timer);
currentImg=num;
}
for(var i=1;i<=maxImg;i++){
if(i==currentImg){
document.getElementById("ad"+i).style.display="block";
document.getElementById("a"+i).style.color="red";
}else{
document.getElementById("ad"+i).style.display="none";
document.getElementById("a"+i).style.color="black";
}
}
if(currentImg>=4){
currentImg=1;
}else{
currentImg++;
}
timer=setTimeout("show()","2000");
}
</script>
<style>
div{








}






</style>






</HEAD>


<BODY onLoad="show();"  background="22.jpg">


<div align="center" >
<img id="ad1" src="ad_01.jpg" style="display:none">
<img id="ad2" src="ad_02.jpg" style="display:none">
<img id="ad3" src="ad_03.jpg" style="display:none">
<img id="ad4" src="ad_04.jpg" style="display:none">
</div>
<div  style="position:absolute;top:250px;left:890px">
<a id="a1" href="javascript:show(1)">1</a>&nbsp;&nbsp;
<a id="a2" href="javascript:show(2)">2</a>&nbsp;&nbsp;
<a id="a3" href="javascript:show(3)">3</a>&nbsp;&nbsp;
<a id="a4" href="javascript:show(4)">4</a>
</div>
</BODY>
</HTML>


<!--跳转成功后的界面-->

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>


<body>


<h1>欢迎光临~</h1>
</body>
</html>


转载于:https://my.oschina.net/u/1384768/blog/175158

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值