六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 138|回复: 0

javascript经典题目

[复制链接]

升级  56%

6

主题

6

主题

6

主题

童生

Rank: 1

积分
28
 楼主| 发表于 2013-2-7 20:32:24 | 显示全部楼层 |阅读模式
1.       实现列表框元素的左右移动。
move.html
<script type="text/javascript">
function move(a,b)
{
   var aObj = document.getElementById(a);
   var bObj = document.getElementById(b);
   for(var i=0;i<aObj.length;i++)
   {
      if(aObj[i].selected)
      {
         var opt = new Option(aObj[i].text,aObj[i].value);
         bObj.add(opt);
         aObj.remove(i);
         i--;
      }
   }
}
</script>
<table width="40%" border="1" bgcolor="#cecece">
   <tr>
      <td><select id="left" size="6" multiple>
         <option value="1">增加简历</option>
         <option value="2">删除简历</option>
         <option value="3">修改简历</option>
         <option value="4">列表简历</option>
      </select></td>
      <td><input type="button" value=">>"
         ><br>
      <input type="button" value="<<"
      ></td>
      <td><select id="right" size="6" multiple style="width: 80px">
      </select></td>
   </tr>
</table>

2.       实现姓名和学号每隔一秒钟互换的效果。
change.html
<script>
//每隔一秒钟学号和姓名互换
var i = 0;
window.onload=change;
setInterval('change()',1000);
function change()
{
   if(i%2)
   {
      document.getElementById("result").innerHTML='姓名:张三';
   }else
   {
      document.getElementById("result").innerHTML='学号:0303003';
   }
   i++;
}
</script>
<div id="result"></div>

3.       动态显示当前日期时间。
datetime.html
<script>
window.onload=init;
setInterval('init()',1000);
function init()
{
   var date = new Date();
   var year = date.getYear();
   var month = date.getMonth()+1;
   if(month<10)month="0"+month;
   var day = date.getDate();
   if(day<10)day="0"+day;
   var hour = date.getHours();
   if(hour<10)hour="0"+hour;
   var minute = date.getMinutes();
   if(minute<10)minute="0"+minute;
   var second = date.getSeconds();
   if(second<10)second="0"+second;
   var dateTime = year+"-"+month+"-"+day+" "+hour+":"+minute+":"+second;
   document.getElementById("dateTime").value= dateTime;
}
</script>
<input type="text" name="dateTime" readonly>

4.       实现全选和反选。
check.html
<script>
//全选
function checkAll()
{
   var chAll = document.getElementById("ckAll");
   var items = document.getElementsByName("item");
   for(var i = 0;i<items.length;i++)
   {
      items[i].checked = chAll.checked;
   }
}
//反选
function reverseAll()
{
   var revAll = document.getElementById("revAll");
   var items = document.getElementsByName("item");
   for(var i = 0;i<items.length;i++)
   {
      items[i].checked = !items[i].checked ;
   }
}
</script>
全选<input type="checkbox" name="ckAll" >/反选<input type="checkbox" name="revAll" ><br>
<input type="checkbox" name="item"><br>
<input type="checkbox" name="item"><br>
<input type="checkbox" name="item"><br>
<input type="checkbox" name="item"><br>
<input type="checkbox" name="item"><br>

5.       实现省市二级联动
connAction.html
<script language="javascript">
<!--
var group;
window.onload=init;
function init(){
   var len = document.getElementById("province").length;
   group=new Array(len);
   for (var i=0; i<len; i++)
   {
      group[i]=new Array();
   }
  
   group[0][0]=new Option("北京","北京");
   group[0][1]=new Option("上海","上海");
   group[0][2]=new Option("天津","天津");
   group[0][3]=new Option("重庆","重庆");
  
   group[1][0]=new Option("武汉","武汉");
   group[1][1]=new Option("鄂州","鄂州");
   group[1][2]=new Option("孝感","孝感");
   group[1][3]=new Option("黄冈","黄冈");
   group[1][4]=new Option("黄石","黄石");
  
   group[2][0]=new Option("石家庄","石家庄");
   group[2][1]=new Option("保定","保定");
   group[2][2]=new Option("张家口","张家口");
   group[2][3]=new Option("承德","承德");
  
   group[3][0]=new Option("长沙","长沙");
   group[3][1]=new Option("湘潭","湘潭");
   group[3][2]=new Option("株州","株州");
   group[3][3]=new Option("衡阳","衡阳");
   group[3][4]=new Option("岳阳","岳阳");
}

function connAction(x){     
   var city=document.getElementById("city");
    for (var m=city.length-1;m>0;m--)
    {
       city.options[m]=null;
    }
   for (i=0;i<group[x].length;i++){
       city.options[i]=new Option(group[x][i].text,group[x][i].value);
    }
}
//-->
</script>
<select name="province"
   onChange="connAction(this.selectedIndex)">
   <option value="直辖市" selected>直辖市</option>
   <option value="湖北">湖北</option>
   <option value="河北">河北</option>
   <option value="湖南">湖南</option>
</select>

<select name="city">
   <option value="北京" selected>北京</option>
   <option value="上海">上海</option>
   <option value="天津">天津</option>
   <option value="重庆">重庆</option>
</select>


6.       实现基本的表单验证功能
formCheck.html
<HTML>
<HEAD>
<TITLE>FormCheck</TITLE>
<META http-equiv=Content-Type content="text/html;    charset=gb2312">
<STYLE>
TD {
   FONT-SIZE: 12px;
   COLOR: #333333
}
</STYLE>
<SCRIPT language=JavaScript type=text/JavaScript src="formcheck.js"></SCRIPT>
<SCRIPT language=JavaScript>  
   <!--  
   function    formCheck(){  
   if(!isIdno(document.testForm.id.value)){  
     alert("身份证号码输入有误!要求只能输入数字,长度为16或18位。");  
     document.testForm.id.focus();  
     return    false;}  
   if(!isChinaTel(document.testForm.tel.value)){  
     alert("固定电话号码输入有误!合法的格式为:区号-电话号码。");  
     document.testForm.tel.focus();  
     return    false;}  
   if(!isChinaMob(document.testForm.mobi.value)){   
     alert("移动电话号码输入有误!");  
     document.testForm.mobi.focus();  
     return    false;}  
   if(!isMail(document.testForm.mail.value)){  
     alert("邮箱输入有误!");  
     document.testForm.mail.focus();  
     return    false;}  
   if(!isPostCode(document.testForm.post.value)){  
     alert("邮政编码输入有误!要求只能输入数字,长度为6位。");  
     document.testForm.post.focus();  
     return    false;}  
   if(!isNLU(document.testForm.nlu.value)){  
     alert("该域只能输入数字、字母或下划线!");  
     document.testForm.nlu.focus();  
     return    false;}  
   var    len=getLength(document.testForm.leng.value);  
   if(len<4||len>6){  
     alert("该域要求输入长度范围是4至6个字符!");  
     document.testForm.leng.focus();  
     return    false;}  
   }  
   //-->  
   </SCRIPT>
<BODY text=#000000 bgColor=#ffffff onload=focusInFirst()>
<CENTER><B><FONT
   face="Geneva,    Arial,    Helvetica,    san-serif" color=#ff6600
   size=4>The sample of FormCheck</FONT></B> <FONT
   face="Arial,    Helvetica,    sans-serif" size=2>(By Roczhao) </FONT>
<HR width="60%" color=#000000 noShade SIZE=1>

<FORM name=testForm  method=post>
<TABLE cellSpacing=0 cellPadding=0 width=500 border=1>
   <TBODY>
      <TR>
         <TD width=182 height=25>身份证:</TD>
         <TD width=312><INPUT name=id></TD>
      </TR>
      <TR>
         <TD width=182 height=25>固定电话:</TD>
         <TD width=312><INPUT name=tel></TD>
      </TR>
      <TR>
         <TD width=182 height=25>手机号码:</TD>
         <TD width=312><INPUT name=mobi></TD>
      </TR>
      <TR>
         <TD width=182 height=25>邮箱:</TD>
         <TD width=312><INPUT name=mail></TD>
      </TR>
      <TR>
         <TD width=182 height=25>邮编:</TD>
         <TD width=312><INPUT name=post></TD>
      </TR>
      <TR>
         <TD width=182 height=25>只能输入数字、字母、下划线:</TD>
         <TD width=312><INPUT name=nlu></TD>
      </TR>
      <TR>
         <TD width=182 height=25>输入长度在4-6之间:</TD>
         <TD width=312><INPUT name=leng></TD>
      </TR>
      <TR align=middle>
         <TD colSpan=2 height=25><INPUT type=submit
            value="      点击测试      " name=Submit></TD>
      </TR>
   </TBODY>
</TABLE>
</FORM>
</CENTER>
</BODY>
</HTML>
formcheck.js
/*js函数文件    formcheck.js*/   
   /*焦点放置在第一个表单域*/  
   function    focusInFirst(){  
     document.forms[0].elements[0].focus();}  
   
   /*判断用户输入是否为空*/  
   function    isEmpty(ui)    {  
     return    (ui==null||ui=="");}  
   
   /*取得用户输入的字符串的长度*/  
   function    getLength(ui)    {  
     var    i,sum=0;  
     for(i=0;i<ui.length;i++)    {  
       if    ((ui.charCodeAt(i)>=0)    &&    (ui.charCodeAt(i)<=255))  
         sum++;  
           else  
     sum+=2;}  
     return    sum;}  
   
   /*是否为数字、字母或下划线*/  
   function    isNLU(ui)    {  
       var    valid=/^\w*$/;  
       return    (valid.test(ui));}  
   
   /*判断是否为身份证号码*/  
   function    isIdno(ui){  
       var    valid=/(^\d{16}$)|(^\d{18}$)/;  
       return    (isEmpty(ui)||valid.test(ui));}  
   
   /*判断是否为邮政编码*/  
   function    isPostCode(ui){  
       var    valid=/^\d{6}$/;  
       return    (isEmpty(ui)||valid.test(ui));}  
   
   /*判断是否为固定电话*/  
   function    isChinaTel(ui){  
       var    valid=/^0\d{2,3}\-\d{7,8}$/;  
       return    (isEmpty(ui)||valid.test(ui));}  
   
   /*判断是否为移动电话*/  
   function    isChinaMob(ui){  
       var    valid=/^0?13[0,1,3,5,6,8,9]\d{8}$/;  
       return    (isEmpty(ui)||valid.test(ui));}  
   
   /*判断是否为电话,只能为固定电话或移动电话*/  
   function    isTel(ui){  
       var    valid=/(^0\d{2,3}\-\d{7,8}$)|(^0?13[0,1,3,5,6,8,9]\d{8}$)/;  
       return    (isEmpty(ui)||valid.test(ui));}  
   
   /*判断是否为邮件*/  
   function    isMail(ui){  
     if(isEmpty(ui)){return    true;}  
       var    notValid=/(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)|(^\-)|(\-\.)|(\.\-)/;  
       var    valid=/^.+\@[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}$/;  
     return    (!notValid.test(ui)&&valid.test(ui));}  
   
   /*用户输入字符串长度是否在两值之间*/   
   function    isLenBetween(ui,minl,maxl)    {  
       return    (ui>=minl&&ui<=maxl);}
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表