javascript实用例子大全!



js学习笔记,别错过!很有用的。

 

/
一、验证类
1、数字验证内
  1.1 整数
  1.2 大于0的整数 (用于传来的ID的验证)
  1.3 负整数的验证
  1.4 整数不能大于iMax
  1.5 整数不能小于iMin
2、时间类
  2.1 短时间,形如 (13:04:06)
  2.2 短日期,形如 (2003-12-05)
  2.3 长时间,形如 (2003-12-05 13:04:06)
  2.4 只有年和月。形如(2003-05,或者2003-5)
  2.5 只有小时和分钟,形如(12:03)
3、表单类
  3.1 所有的表单的值都不能为空
  3.2 多行文本框的值不能为空。
  3.3 多行文本框的值不能超过sMaxStrleng
  3.4 多行文本框的值不能少于sMixStrleng
  3.5 判断单选框是否选择。
  3.6 判断复选框是否选择.
  3.7 复选框的全选,多选,全不选,反选
  3.8 文件上传过程中判断文件类型
4、字符类
  4.1 判断字符全部由a-Z或者是A-Z的字字母组成
  4.2 判断字符由字母和数字组成。
  4.3 判断字符由字母和数字,下划线,点号组成.且开头的只能是下划线和字母
  4.4 字符串替换函数.Replace();
5、浏览器类
  5.1 判断浏览器的类型
  5.2 判断ie的版本
  5.3 判断客户端的分辨率
 
6、结合类
  6.1 email的判断。
  6.2 手机号码的验证
  6.3 身份证的验证
 

二、功能类

1、时间与相关控件类
  1.1 日历
  1.2 时间控件
  1.3 万年历
  1.4 显示动态显示时钟效果(文本,如OA中时间)
  1.5 显示动态显示时钟效果 (图像,像手表)
2、表单类
  2.1 自动生成表单
  2.2 动态添加,修改,删除下拉框中的元素
  2.3 可以输入内容的下拉框
  2.4 多行文本框中只能输入iMax文字。如果多输入了,自动减少到iMax个文字(多用于短信发送)
 
3、打印类
  3.1 打印控件
4、事件类
  4.1 屏蔽右键
  4.2 屏蔽所有功能键
  4.3 --> 和<-- F5 F11,F9,F1
  4.4 屏蔽组合键ctrl+N
5、网页设计类
  5.1 连续滚动的文字,图片(注意是连续的,两段文字和图片中没有空白出现)
  5.2 html编辑控件类
  5.3 颜色选取框控件
  5.4 下拉菜单
  5.5 两层或多层次的下拉菜单
  5.6 仿IE菜单的按钮。(效果如rongshuxa.com的导航栏目)
  5.7 状态栏,title栏的动态效果(例子很多,可以研究一下)
  5.8 双击后,网页自动滚屏
6、树型结构。
7、无边框效果的制作
8、连动下拉框技术
9、文本排序
10,画图类,含饼、柱、矢量贝滋曲线
11,操纵客户端注册表类
12,DIV层相关(拖拽、显示、隐藏、移动、增加)
13,TABLAE相关(客户端动态增加行列,模拟进度条,滚动列表等)
14,各种<object classid=>相关类,如播放器,flash与脚本互动等
16, 刷新/模拟无刷新 异步调用类(XMLHttp或iframe,frame)

/


1.让文字不停地滚动
<MARQUEE>滚动文字</MARQUEE>

2.记录并显示网页的最后修改时间
<script language=javascript>
 document.write("最后更新时间: " + document.lastModified + "");
   </script>

3.关闭当前窗口
<a href="#" onClick="javascript :window.close();return false;">关闭窗口</a>

4.5秒后关闭当前页
<script language="javascript">
    <!--
      setTimeout('window.close();',5000);
    -->
  </script>

5.2秒后载入指定网页
<head>
   <meta http-equiv="refresh" content="2;URL=http://你的网址">
  </head>

6.添加到收藏夹
<Script Language="javascript">
   function bookmarkit(){
    window.external.addFavorite('http://你的网址','你的网站名称');
   }
   if (document.all){
    document.write('<a href="#" onClick="bookmarkit()">加入收藏夹</a>');
   }
  </Script>

7.让超链接不显示下划线
<style type="text/css">
 <!- a:link{text-decoration:none}
       a:hover{text-decoration:none}
       a:visited{text-decoration:none}
    ->
  </style>

8.禁止鼠标右键的动作

<script language="javascript">
   function click() {
    if (event.button==2||event.button==3){
      alert('禁止鼠标右键');
    }
   }
   document.οnmοusedοwn=click;   
  </script>

9.设置该页为首页
<span οnclick="var strHref=window.location.href;this.style.behavior=
'url(#default#homepage)';
this.setHomePage('http://www.ccidnet.com');
" style="CURSOR: hand"><br>将本站设置为首页</span>

10.节日倒计时
<Script Language="javascript">
   var timedate= new Date("December 25,2008");
   var times="圣诞节";
   var now = new Date();
   var date = timedate.getTime() - now.getTime();
   var time = Math.floor(date / (1000 * 60 * 60 * 24));
   if (time >= 0)
    document.write("现在离"+times+"还有: "+time +"天")
 </Script>

11.单击按钮打印出当前页
<Script Language="javascript">
     if (window.print) {
       document.write('<form>' + '<input type=button name=print value="打印本页" ' + 'onClick="javascript:window.print();"></form>');
     }
 </Script>

12.单击按钮‘另存为’当前页
<input type="button" name="Button" value="保存本页" onClick="document.all.button.ExecWB(4,1)">
  <object id="button" width=0 height=0 classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2">
   <embed width="0" height="0"></embed>
  </object>

13.显示系统当前日期
<script language=javascript>
   var today=new Date();
   function myDate(){
    this.week=new Array();
    this.week[0]="星期日";
    this.week[1]="星期一";
    this.week[2]="星期二";
    this.week[3]="星期三";
    this.week[4]="星期四";
    this.week[5]="星期五";
    this.week[6]="星期六";
   
    this.getWeek=function(num){
     return this.week[num];
    }       
   }
   var d = new myDate();
  
   document.write( "<font color=##000000 style='font-size:9pt;font-family: 宋体'> ", today.getYear(),"年",today.getMonth()+1,"月",today.getDate(),"日", d.getWeek(today.getDay()),"</font>" );
< /script>


14.不同时间段显示不同问候语
<Script Language="javascript">
   <!--
    var text="";
    day = new Date( );
    time = day.getHours( );
    if (( time>=0) && (time < 7 )){
     text="夜猫子,要注意身体哦! "
    }
    if (( time >= 7 ) && (time < 12)){
     text="今天天气……哈哈哈,不去玩吗?"
    }
    if (( time >= 12) && (time < 14)){
     text="午休时间哦,朋友一定是不习惯午睡的吧?!"
    }
    if (( time >=14) && (time < 18)){
     text="下午茶的时间到了,休息一下吧! "
    }
    if ((time >= 18) && (time <= 22)){
     text="您又来了,可别和MM聊太久哦!"
    }
    if ((time >= 22) && (time < 24)){
     text="很晚了哦,注意休息呀!"
    }
    document.write(text)
   //--->
  </Script>

15.水中倒影效果
<img id="reflect" src="你自己的图片文件名" width="175" height="59">
  <script language="javascript">
   function f1() {
     setInterval("mdiv.filters.wave.phase+=10",100);
   }
   if (document.all) {
     document.write('<img id=mdiv src="'+document.all.reflect.src+'" style="filter:wave(strength=3,freq=3,phase=0,lightstrength=30) blur() flipv()">');
     window.οnlοad=f1
   }
  </script>

16.慢慢变大的窗口
<Script Language="javascript">
  <!--
   var Windowsheight=100;
   var Windowswidth=100;
   var numx=5;
   function openwindow(thelocation){
    temploc=thelocation;
    if (!(window.resizeTo&&document.all)&&!(window.resizeTo&&document.getElementById)) {
     window.open(thelocation);
     return;
    }
    windowsize=window.open("","","scrollbars");
    windowsize.moveTo(0,0);
    windowsize.resizeTo(100,100);
    tenumxt();
   }
   function tenumxt(){
    if (Windowsheight>=screen.availHeight-3){
     numx=0;
    }
    windowsize.resizeBy(5,numx);
    Windowsheight+=5;
    Windowswidth+=5;
    if (Windowswidth>=screen.width-5) {
     windowsize.location=temploc;
     Windowsheight=100;
     Windowswidth=100;
     numx=5;
     return;
    }
    setTimeout("tenumxt()",50);
   }
   //-->
  </script>
  <p><a href="javascript:openwindow('http://news.sohu.com')">进入</a>

17.改变IE地址栏的IE图标
我们要先做一个16*16的icon(图标文件),保存为index.ico。把这个图标文件上传到根目录下,
并在首页<head></head>之间加上如下代码:         
< head>
 <link rel="Shortcut Icon" href="index.ico"/>
< /head>

18:进入或者离开时显示信息
 设置body的 onLoad和onUnload事件

19:只能输入数字
<script LANGUAGE="javascript">;
< !--
function check(){
 if (document.form.tell.value==""){
  alert("请输入数字!");
  document.form.tell.focus();
  return false;
 }else{
  var Letters = "0123456789()+-";
  for (i=0; i< document.form.tell.value.length; i++){
     var CheckChar = document.form.tell.value.charAt(i);
     if (Letters.indexOf(CheckChar) == -1){
       alert("输入的数字不正确!");
       document.form.tell.focus();
       return false;
     }
  }
 }
}
//-->;
< /script>
< form method="POST" name=form action="" onSubmit="return check();">
请输入数字:<input type="text" name="tell" size="20">
< input type="submit" value="提交" name="B1">
< /form>

20:email 合法性检查
<script language="javascript">
function check()
{
 var vv = document.all("email").value;
if(vv.length!=0)
 {
   if (vv.charAt(0)=="." ||       
        vv.charAt(0)=="@"||      
        vv.indexOf(
'@', 0) == -1 ||
        vv.indexOf('.', 0) == -1 ||
        vv.lastIndexOf("@")                      
     ==vv.length-1 ||
        vv.lastIndexOf(".")
             ==vv.length-1)
    {
     alert("Email的格式不正確!");
     document.all("email").focus();
     return false;
     }
  }
else
 {
  alert("Email的不能为空!");
  document.all("email").focus();
  return false;
  }
return false;
}
< /script>

<input type="text" name="email">
< input type="button" οnclick="check();" value="检查email">

21:屏蔽 Ctrl+N、Shift+F10、F5刷新、退格键

<script language="javascript">
< !--
  //屏蔽鼠标右键、Ctrl+N、Shift+F10、F5刷新、退格键
function window.onhelp(){return false} //屏蔽F1帮助
function KeyDown(){
  if ((window.event.altKey)&&
      ((window.event.keyCode==37)||   //屏蔽 Alt+ 方向键 ←
       (window.event.keyCode==39))){  //屏蔽 Alt+ 方向键 →
     alert("不准你使用ALT+方向键前进或后退网页!");
     event.returnvalue=false;
     }

     /* 注:这还不是真正地屏蔽 Alt+ 方向键,
     因为 Alt+ 方向键弹出警告框时,按住 Alt 键不放,
     用鼠标点掉警告框,这种屏蔽方法就失效了。以后若
     有哪位高手有真正屏蔽 Alt 键的方法,请告知。*/

  if ((event.keyCode == 8) &&
      (event.srcElement.type != "text" &&
      event.srcElement.type != "textarea" &&
      event.srcElement.type != "password") ||           //屏蔽退格删除键 
      (event.keyCode==116)||                            //屏蔽 F5 刷新键
      (event.ctrlKey && event.keyCode==82)){            //Ctrl + R
     event.keyCode=0;
     event.returnvalue=false;
     }
  if ((event.ctrlKey)&&(event.keyCode==78))   //屏蔽 Ctrl+n
     event.returnvalue=false;
  if ((event.shiftKey)&&(event.keyCode==121)) //屏蔽 shift+F10
     event.returnvalue=false;
  if (window.event.srcElement.tagName == "A" && window.event.shiftKey)
      window.event.returnvalue = false;  //屏蔽 shift 加鼠标左键新开一网页
  if ((window.event.altKey)&&(window.event.keyCode==115)){ //屏蔽Alt+F4
      window.showModelessDialog("about:blank","","dialogWidth:1px;dialogheight:1px");
      return false;}
  }
 /* 另外可以用 window.open 的方法屏蔽 IE 的所有菜单
第一种方法:
  window.open("你的.htm", "","toolbar=no,location=no,directories=no,menubar=no,scrollbars=no,resizable=yes,status=no,top=0,left=0")
第二种方法是打开一个全屏的页面:
  window.open("你的.asp", "", "fullscreen=yes")
 */
//-->
< /script>

<input type="text" >

22:屏蔽F5键

<script language="javascript">
< !--
function document.onkeydown()
{
    if ( event.keyCode==116)
    {
        event.keyCode = 0;
        event.cancelBubble = true;
        return false;
    }
}
-->
< /script>

<input type="text">

23:屏蔽主窗口滚动条

在body标签里加上 style="overflow-y:hidden"

24:取得控件的绝对位置

<script language="javascript">  
function getIE(e){  
 var t=e.offsetTop;  
 var l=e.offsetLeft;  
 while(e=e.offsetParent){  
  t+=e.offsetTop;  
  l+=e.offsetLeft;  
 }  
 alert("top="+t+"nleft="+l);  
}  
< /script> 

<input type="button" value="看看我的位置" οnclick="getIE(this);">

25:切换页面后,光标停在文本框文字的最后

<script language="javascript">
function cc()
{
 var e = event.srcElement;
 var r =e.createTextRange();
 r.moveStart("character",e.value.length);
 r.collapse(true);
 r.select();
}
< /script>
< input type=text name=text1 value="123" οnfοcus="cc();">

26:表格的半透明显示效果
在<head></head>之间加上如下代码:
<style>
.alpha{filter: Alpha(Opacity=50)} //50表示50%的透明度
</style>

在<body></body>之间加上如下代码:
<table border="1" width="100" height="62" class="alpha" bgcolor="#F2A664" >
< tr>
< td width="100%" height="62">
< div align="center">很酷吧!</div>
< /td>
< /tr>
< /table>

27:细线分隔线
<hr noshade size=0 color=#C0C0C0>

28:过渡度方式
<head>
< meta http-equiv="Page-Exit" content="revealTrans(Duration=3,Transition=3)">
< /head>
< a href="b.html">to b.html</a>
Duration的值为网页动态过渡的时间,单位为秒。
Transition是过渡方式,它的值为0到23,分别对应24种过渡方式。如下表:
0 盒状收缩 1 盒状放射
2 圆形收缩 3 圆形放射
4 由下往上 5 由上往下
6 从左至右 7 从右至左
8 垂直百叶窗 9 水平百叶窗
10 水平格状百叶窗 11垂直格状百叶窗
12 随意溶解 13从左右两端向中间展开
14从中间向左右两端展开 15从上下两端向中间展开
16从中间向上下两端展开 17 从右上角向左下角展开
18 从右下角向左上角展开 19 从左上角向右下角展开
20 从左下角向右上角展开 21 水平线状展开
22 垂直线状展开 23 随机产生一种过渡方式


29:如何控制横向和纵向滚动条的显隐?
<body style="overflow-y:hidden"> 去掉x轴
<body style="overflow-x:hidden"> 去掉y轴
<body scroll="no">不显

/
30:javascript中获取地址栏参数比如 index.jsp?id=xxx&name=xxx
方法一:
<script>
function getvalue(name)
{
var str=window.location.search;
if (str.indexOf(name)!=-1)
{
var pos_start=str.indexOf(name)+name.length+1;
var pos_end=str.indexOf("&",pos_start);
if (pos_end==-1)
{
return str.substring(pos_start);
}
else
{
return str.substring(pos_start,pos_end)
}
}
else
{
return "没有这个name值";
}
}
var strName=prompt("请输入您所要值的名字");
alert(getvalue(strName));
< /script>

方法二:
<script language="javascript">
 var URLParams = new Array();
 var aParams = document.location.search.substr(1).split('&');
 for (i=0;i<aParams.length;i++){
  var aParam = aParams[i].split("=");
  URLParams[aParam[0]] = aParam[1];
 }

//取得传过来的name参数
var v=URLParams["name"];
alert("name==="+v);
 </script>
 
方法三:
<script type="text/javascript">
Request = {
 QueryString : function(item){
  var svalue = location.search.match(new RegExp("[\?\&]" + item + "=([^\&]*)(\&?)","i"));
  return svalue ? svalue[1] : svalue;
 }
}
alert(Request.QueryString("name"));
< /script>

31:window对象的方法
open(URL,WindowName,parameterList):open方法创建一个新的浏览器窗口,并在新窗口中载入一个指定的URL地址。
close():close方法关闭一个浏览器窗口.
alert(text):弹出一个信息框.
confirm(text):弹出一个确认框.
prompt(text,Defaulttext):弹出一个提示框.
setTimeout(expression,time):定时设置,在一定时间后自动执行expression描述的代码,使用time设置时间,单位是毫秒.
clearTimeout(timer):取消以前的定时设置.
back():指示浏览器载入历史记录中的上一个URL地址.
forward():指示浏览器载入历史记录中的下一个URL地址.
stop():指示浏览器停止网页的装载.
location:提供当前窗口的URL信息
history:提供当前窗口的历史记录,可以在网页导航中发挥作用.
closed:一个指出窗口目前是否关闭的逻辑值.
self:引用当前文档对应的窗口.
navigate(url):窗口转向另外一个窗口

32:验证是否整数
<script type="text/javascript">
 function checkInteger(v){
  var s = ""+v;
  var ret = s.match(/^(-|\+)?\d+$/);
  if(ret==null){
   alert(v+" , 不是数字");
  }
 }
 checkInteger('01230');
 checkInteger("abc");
< /script>

33:验证是否都是数字,而且是正整数
<script type="text/javascript">
 function checkGreaterZero(v){
  var s = ""+v;
  var ret = s.match(/^\d+$/);
  if(ret==null){
   alert(v+" , 不是数字");
  }
 }
 checkGreaterZero('1230');
 checkGreaterZero("abc");
< /script>

34:验证是否都是数字,而且是负整数
<script type="text/javascript">
 function checkLitterZero(v){
  var s = ""+v;
  var ret = s.match(/^-\d+$/);
  if(ret==null){
   alert(v+" , 不是小于0的数字");
  }
 }
 checkLitterZero('-1230');
 checkLitterZero("123");
< /script>

35:短时间,形如 (13:04:06)
< script language="javascript">
      function isTime(str)
      {
        var a = str.match(/^(\d{1,2})(:)?(\d{1,2})\2(\d{1,2})$/);
        if (a == null) {alert('输入的参数不是时间格式'); return false;}
        if (a[1]>24 || a[3]>60 || a[4]>60)
        {
          alert(str+",时间格式不对");
          return false
        }
        return true;
      }
    
      isTime("12:09:39");
      isTime("33:55:99");
< /script>

36:短日期,形如 (2008-12-05)
< script language="javascript">
      function strDateTime(str)
      {
         var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
         if(r==null)return false;
         var d= new Date(r[1], r[3]-1, r[4]);
         return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
      }
    
      alert(strDateTime("2008-10-28"));
      alert(strDateTime("08-12-9"));
< /script>

37:长时间,形如 (2003-12-05 13:04:06)
< script language="javascript">
     function strDateTime(str)
      {
        var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;
        var r = str.match(reg);
        if(r==null)return false;
        var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]);
        return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]);
      }

      alert(strDateTime("2008-10-28 11:11:11"));
      alert(strDateTime("08-12-9 11:11:11"));
< /script>

38:检测值不能为空
<script language="javascript">
     function canNotEmpty(str)
      {
        if(str.replace(/^\s+|\s+$/g,'')==''){
         alert('不能为空!');
        }
        return true;
      }

      alert(canNotEmpty("2008-10-28 11:11:11"));
      alert(canNotEmpty("          "));
< /script>

39:判断字符全部由a-Z或者是A-Z的字字母组成
<script language="javascript">
     function isLetter(str)
      {
        if(/[^a-zA-Z]/g.test(str)){
         return false;
        }
        return true;
      }

      alert(isLetter("aaaSSFsadfa"));
      alert(isLetter("a3d"));
< /script>


40:判断字符由字母和数字组成
<script language="javascript">
     function isLetter(str)
      {
        if(/[^0-9a-zA-Z]/g.test(this.value)){
         return false;
        }
        return true;
      }

      alert(isLetter("aaaSSFsadfa"));
      alert(isLetter("a3d"));
< /script>

41:判断字符由字母和数字,下划线,点号组成.且开头的只能是下划线和字母
<script language="javascript">
     function isLetter(str)
      {
        if(/^([a-zA-z_]{1})([\w]*)$/g.test(str)){
         return true;
        }
        return false;
      }

      alert(isLetter(" aaaSSFsadfa"));
      alert(isLetter("_a3d"));
< /script>    

42:判断浏览器的类型
<script language="javascript">
      alert(window.navigator.appName);
< /script>

43:判断ie的版本
<script language="javascript">
      alert(window.navigator.appVersion);
< /script>

44:判断客户端的分辨率
<script language="javascript">
      alert(window.screen.height);
      alert(window.screen.width);
< /script> 

45:用正则表达式判断是否Email
< script language="javascript">
      function isMail(mail)
      {
        return(new RegExp(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/).test(mail));
      }
   alert(isMail("
cc@a.com"));
   alert(isMail("cc
1@a.com"));
< /script>

46:用正则表达式判断是否身份证号码
<script language="javascript">
      function isIdCardNo(num)
      {
        if (isNaN(num)) {alert("输入的不是数字!"); return false;}
        var len = num.length, re;
        if (len == 15)
          re = new RegExp(/^(\d{6})()?(\d{2})(\d{2})(\d{2})(\d{3})$/);
        else if (len == 18)
          re = new RegExp(/^(\d{6})()?(\d{4})(\d{2})(\d{2})(\d{3})(\d)$/);
        else {alert("输入的数字位数不对!"); return false;}
        var a = num.match(re);
        if (a != null)
        {
          if (len==15)
          {
            var D = new Date("19"+a[3]+"/"+a[4]+"/"+a[5]);
            var B = D.getYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5];
          }
          else
          {
            var D = new Date(a[3]+"/"+a[4]+"/"+a[5]);
            var B = D.getFullYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5];
          }
          if (!B) {alert("输入的身份证号 "+ a[0] +" 里出生日期不对!"); return false;}
        }
        return true;
      }
   alert(isIdCardNo("511111199001013456"));
   alert(isIdCardNo("511111199013313456"));
< /script>

47:给表格自动增行(msdn的例子)
<SCRIPT>
function createRows(){
   // insert two rows.
   var oRow1=oTable.insertRow(oTable.rows.length);
   var oRow2=oTable.insertRow(oTable.rows.length);
 
   // retrieve the rows collection for the table.
   var aRows=oTable.rows;
 
   // retrieve the cells collection for the first row.
   var aCells=oRow1.cells;
 
   // insert two cells into the first row.
   var oCell1_1=aRows(oRow1.rowIndex).insertCell(aCells.length);
   var oCell1_2=aRows(oRow1.rowIndex).insertCell(aCells.length);
 
   // retrieve the cells collection for the second row.
   aCells=oRow2.cells;
 
   // insert two cells into the second row.
   var oCell2_1=aRows(oRow2.rowIndex).insertCell(aCells.length);
   var oCell2_2=aRows(oRow2.rowIndex).insertCell(aCells.length);
 
   // Add regular HTML values to the 4 new cells.
   oCell1_1.innerHTML="<B>Cell 1.1!</B>";
   oCell1_2.innerHTML="<B>Cell 1.2!</B>";
   oCell2_1.innerHTML="<B>Cell 2.1!</B>";
   oCell2_2.innerHTML="<B>Cell 2.2!</B>"; 
}
< /SCRIPT>
< INPUT TYPE="button" VALUE="Create Rows" οnclick="createRows()">
< TABLE BORDER=1 ID="oTable">
< /TABLE>

48:严格的身份证验证
<script>
var aCity={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江",31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北",43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"xizang",61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外"}
 
function cidInfo(sId){
 var iSum=0
 var info=""
 if(!/^\d{17}(\d|x)$/i.test(sId))return false;
 sId=sId.replace(/x$/i,"a");
 if(aCity[parseInt(sId.substr(0,2))]==null)return "Error:非法地区";
 sBirthday=sId.substr(6,4)+"-"+Number(sId.substr(10,2))+"-"+Number(sId.substr(12,2));
 var d=new Date(sBirthday.replace(/-/g,"/"))
 if(sBirthday!=(d.getFullYear()+"-"+ (d.getMonth()+1) + "-" + d.getDate()))return "Error:非法生日";
 for(var i = 17;i>=0;i --) iSum += (Math.pow(2,i) % 11) * parseInt(sId.charAt(17 - i),11)
 if(iSum%11!=1)return "Error:非法证号";
 return aCity[parseInt(sId.substr(0,2))]+","+sBirthday+","+(sId.substr(16,1)%2?"男":"女")
}

document.write(cidInfo("380524198002300016"),"<br/>");
document.write(cidInfo("340524198002300019"),"<br/>")
document.write(cidInfo("340524197711111111"),"<br/>")
document.write(cidInfo("34052419800101001x"),"<br/>");
< /script>

49:验证IP地址
<SCRIPT LANGUAGE="JavaScript">
function isip(s){
 var check=function(v){try{return (v<=255 && v>=0)}catch(x){return false}};
 var re=s.split(".")
 return (re.length==4)?(check(re[0]) && check(re[1]) && check(re[2]) && check(re[3])):false
}

var s="202.197.78.129";
alert(isip(s))
< /SCRIPT>

 


/
一、验证类
1、数字验证内
  1.1 整数
  1.2 大于0的整数 (用于传来的ID的验证)
  1.3 负整数的验证
  1.4 整数不能大于iMax
  1.5 整数不能小于iMin
2、时间类
  2.1 短时间,形如 (13:04:06)
  2.2 短日期,形如 (2003-12-05)
  2.3 长时间,形如 (2003-12-05 13:04:06)
  2.4 只有年和月。形如(2003-05,或者2003-5)
  2.5 只有小时和分钟,形如(12:03)
3、表单类
  3.1 所有的表单的值都不能为空
  3.2 多行文本框的值不能为空。
  3.3 多行文本框的值不能超过sMaxStrleng
  3.4 多行文本框的值不能少于sMixStrleng
  3.5 判断单选框是否选择。
  3.6 判断复选框是否选择.
  3.7 复选框的全选,多选,全不选,反选
  3.8 文件上传过程中判断文件类型
4、字符类
  4.1 判断字符全部由a-Z或者是A-Z的字字母组成
  4.2 判断字符由字母和数字组成。
  4.3 判断字符由字母和数字,下划线,点号组成.且开头的只能是下划线和字母
  4.4 字符串替换函数.Replace();
5、浏览器类
  5.1 判断浏览器的类型
  5.2 判断ie的版本
  5.3 判断客户端的分辨率
 
6、结合类
  6.1 email的判断。
  6.2 手机号码的验证
  6.3 身份证的验证
 

二、功能类

1、时间与相关控件类
  1.1 日历
  1.2 时间控件
  1.3 万年历
  1.4 显示动态显示时钟效果(文本,如OA中时间)
  1.5 显示动态显示时钟效果 (图像,像手表)
2、表单类
  2.1 自动生成表单
  2.2 动态添加,修改,删除下拉框中的元素
  2.3 可以输入内容的下拉框
  2.4 多行文本框中只能输入iMax文字。如果多输入了,自动减少到iMax个文字(多用于短信发送)
 
3、打印类
  3.1 打印控件
4、事件类
  4.1 屏蔽右键
  4.2 屏蔽所有功能键
  4.3 --> 和<-- F5 F11,F9,F1
  4.4 屏蔽组合键ctrl+N
5、网页设计类
  5.1 连续滚动的文字,图片(注意是连续的,两段文字和图片中没有空白出现)
  5.2 html编辑控件类
  5.3 颜色选取框控件
  5.4 下拉菜单
  5.5 两层或多层次的下拉菜单
  5.6 仿IE菜单的按钮。(效果如rongshuxa.com的导航栏目)
  5.7 状态栏,title栏的动态效果(例子很多,可以研究一下)
  5.8 双击后,网页自动滚屏
6、树型结构。
7、无边框效果的制作
8、连动下拉框技术
9、文本排序
10,画图类,含饼、柱、矢量贝滋曲线
11,操纵客户端注册表类
12,DIV层相关(拖拽、显示、隐藏、移动、增加)
13,TABLAE相关(客户端动态增加行列,模拟进度条,滚动列表等)
14,各种<object classid=>相关类,如播放器,flash与脚本互动等
16, 刷新/模拟无刷新 异步调用类(XMLHttp或iframe,frame)

/


1.让文字不停地滚动
<MARQUEE>滚动文字</MARQUEE>

2.记录并显示网页的最后修改时间
<script language=javascript>
 document.write("最后更新时间: " + document.lastModified + "");
   </script>

3.关闭当前窗口
<a href="#" onClick="javascript :window.close();return false;">关闭窗口</a>

4.5秒后关闭当前页
<script language="javascript">
    <!--
      setTimeout('window.close();',5000);
    -->
  </script>

5.2秒后载入指定网页
<head>
   <meta http-equiv="refresh" content="2;URL=http://你的网址">
  </head>

6.添加到收藏夹
<Script Language="javascript">
   function bookmarkit(){
    window.external.addFavorite('http://你的网址','你的网站名称');
   }
   if (document.all){
    document.write('<a href="#" onClick="bookmarkit()">加入收藏夹</a>');
   }
  </Script>

7.让超链接不显示下划线
<style type="text/css">
 <!- a:link{text-decoration:none}
       a:hover{text-decoration:none}
       a:visited{text-decoration:none}
    ->
  </style>

8.禁止鼠标右键的动作

<script language="javascript">
   function click() {
    if (event.button==2||event.button==3){
      alert('禁止鼠标右键');
    }
   }
   document.οnmοusedοwn=click;   
  </script>

9.设置该页为首页
<span οnclick="var strHref=window.location.href;this.style.behavior=
'url(#default#homepage)';
this.setHomePage('http://www.ccidnet.com');
" style="CURSOR: hand"><br>将本站设置为首页</span>

10.节日倒计时
<Script Language="javascript">
   var timedate= new Date("December 25,2008");
   var times="圣诞节";
   var now = new Date();
   var date = timedate.getTime() - now.getTime();
   var time = Math.floor(date / (1000 * 60 * 60 * 24));
   if (time >= 0)
    document.write("现在离"+times+"还有: "+time +"天")
 </Script>

11.单击按钮打印出当前页
<Script Language="javascript">
     if (window.print) {
       document.write('<form>' + '<input type=button name=print value="打印本页" ' + 'onClick="javascript:window.print();"></form>');
     }
 </Script>

12.单击按钮‘另存为’当前页
<input type="button" name="Button" value="保存本页" onClick="document.all.button.ExecWB(4,1)">
  <object id="button" width=0 height=0 classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2">
   <embed width="0" height="0"></embed>
  </object>

13.显示系统当前日期
<script language=javascript>
   var today=new Date();
   function myDate(){
    this.week=new Array();
    this.week[0]="星期日";
    this.week[1]="星期一";
    this.week[2]="星期二";
    this.week[3]="星期三";
    this.week[4]="星期四";
    this.week[5]="星期五";
    this.week[6]="星期六";
   
    this.getWeek=function(num){
     return this.week[num];
    }       
   }
   var d = new myDate();
  
   document.write( "<font color=##000000 style='font-size:9pt;font-family: 宋体'> ", today.getYear(),"年",today.getMonth()+1,"月",today.getDate(),"日", d.getWeek(today.getDay()),"</font>" );
< /script>


14.不同时间段显示不同问候语
<Script Language="javascript">
   <!--
    var text="";
    day = new Date( );
    time = day.getHours( );
    if (( time>=0) && (time < 7 )){
     text="夜猫子,要注意身体哦! "
    }
    if (( time >= 7 ) && (time < 12)){
     text="今天天气……哈哈哈,不去玩吗?"
    }
    if (( time >= 12) && (time < 14)){
     text="午休时间哦,朋友一定是不习惯午睡的吧?!"
    }
    if (( time >=14) && (time < 18)){
     text="下午茶的时间到了,休息一下吧! "
    }
    if ((time >= 18) && (time <= 22)){
     text="您又来了,可别和MM聊太久哦!"
    }
    if ((time >= 22) && (time < 24)){
     text="很晚了哦,注意休息呀!"
    }
    document.write(text)
   //--->
  </Script>

15.水中倒影效果
<img id="reflect" src="你自己的图片文件名" width="175" height="59">
  <script language="javascript">
   function f1() {
     setInterval("mdiv.filters.wave.phase+=10",100);
   }
   if (document.all) {
     document.write('<img id=mdiv src="'+document.all.reflect.src+'" style="filter:wave(strength=3,freq=3,phase=0,lightstrength=30) blur() flipv()">');
     window.οnlοad=f1
   }
  </script>

16.慢慢变大的窗口
<Script Language="javascript">
  <!--
   var Windowsheight=100;
   var Windowswidth=100;
   var numx=5;
   function openwindow(thelocation){
    temploc=thelocation;
    if (!(window.resizeTo&&document.all)&&!(window.resizeTo&&document.getElementById)) {
     window.open(thelocation);
     return;
    }
    windowsize=window.open("","","scrollbars");
    windowsize.moveTo(0,0);
    windowsize.resizeTo(100,100);
    tenumxt();
   }
   function tenumxt(){
    if (Windowsheight>=screen.availHeight-3){
     numx=0;
    }
    windowsize.resizeBy(5,numx);
    Windowsheight+=5;
    Windowswidth+=5;
    if (Windowswidth>=screen.width-5) {
     windowsize.location=temploc;
     Windowsheight=100;
     Windowswidth=100;
     numx=5;
     return;
    }
    setTimeout("tenumxt()",50);
   }
   //-->
  </script>
  <p><a href="javascript:openwindow('http://news.sohu.com')">进入</a>

17.改变IE地址栏的IE图标
我们要先做一个16*16的icon(图标文件),保存为index.ico。把这个图标文件上传到根目录下,
并在首页<head></head>之间加上如下代码:         
< head>
 <link rel="Shortcut Icon" href="index.ico"/>
< /head>

18:进入或者离开时显示信息
 设置body的 onLoad和onUnload事件

19:只能输入数字
<script LANGUAGE="javascript">;
< !--
function check(){
 if (document.form.tell.value==""){
  alert("请输入数字!");
  document.form.tell.focus();
  return false;
 }else{
  var Letters = "0123456789()+-";
  for (i=0; i< document.form.tell.value.length; i++){
     var CheckChar = document.form.tell.value.charAt(i);
     if (Letters.indexOf(CheckChar) == -1){
       alert("输入的数字不正确!");
       document.form.tell.focus();
       return false;
     }
  }
 }
}
//-->;
< /script>
< form method="POST" name=form action="" onSubmit="return check();">
请输入数字:<input type="text" name="tell" size="20">
< input type="submit" value="提交" name="B1">
< /form>

20:email 合法性检查
<script language="javascript">
function check()
{
 var vv = document.all("email").value;
if(vv.length!=0)
 {
   if (vv.charAt(0)=="." ||       
        vv.charAt(0)=="@"||      
        vv.indexOf(
'@', 0) == -1 ||
        vv.indexOf('.', 0) == -1 ||
        vv.lastIndexOf("@")                      
     ==vv.length-1 ||
        vv.lastIndexOf(".")
             ==vv.length-1)
    {
     alert("Email的格式不正確!");
     document.all("email").focus();
     return false;
     }
  }
else
 {
  alert("Email的不能为空!");
  document.all("email").focus();
  return false;
  }
return false;
}
< /script>

<input type="text" name="email">
< input type="button" οnclick="check();" value="检查email">

21:屏蔽 Ctrl+N、Shift+F10、F5刷新、退格键

<script language="javascript">
< !--
  //屏蔽鼠标右键、Ctrl+N、Shift+F10、F5刷新、退格键
function window.onhelp(){return false} //屏蔽F1帮助
function KeyDown(){
  if ((window.event.altKey)&&
      ((window.event.keyCode==37)||   //屏蔽 Alt+ 方向键 ←
       (window.event.keyCode==39))){  //屏蔽 Alt+ 方向键 →
     alert("不准你使用ALT+方向键前进或后退网页!");
     event.returnvalue=false;
     }

     /* 注:这还不是真正地屏蔽 Alt+ 方向键,
     因为 Alt+ 方向键弹出警告框时,按住 Alt 键不放,
     用鼠标点掉警告框,这种屏蔽方法就失效了。以后若
     有哪位高手有真正屏蔽 Alt 键的方法,请告知。*/

  if ((event.keyCode == 8) &&
      (event.srcElement.type != "text" &&
      event.srcElement.type != "textarea" &&
      event.srcElement.type != "password") ||           //屏蔽退格删除键 
      (event.keyCode==116)||                            //屏蔽 F5 刷新键
      (event.ctrlKey && event.keyCode==82)){            //Ctrl + R
     event.keyCode=0;
     event.returnvalue=false;
     }
  if ((event.ctrlKey)&&(event.keyCode==78))   //屏蔽 Ctrl+n
     event.returnvalue=false;
  if ((event.shiftKey)&&(event.keyCode==121)) //屏蔽 shift+F10
     event.returnvalue=false;
  if (window.event.srcElement.tagName == "A" && window.event.shiftKey)
      window.event.returnvalue = false;  //屏蔽 shift 加鼠标左键新开一网页
  if ((window.event.altKey)&&(window.event.keyCode==115)){ //屏蔽Alt+F4
      window.showModelessDialog("about:blank","","dialogWidth:1px;dialogheight:1px");
      return false;}
  }
 /* 另外可以用 window.open 的方法屏蔽 IE 的所有菜单
第一种方法:
  window.open("你的.htm", "","toolbar=no,location=no,directories=no,menubar=no,scrollbars=no,resizable=yes,status=no,top=0,left=0")
第二种方法是打开一个全屏的页面:
  window.open("你的.asp", "", "fullscreen=yes")
 */
//-->
< /script>

<input type="text" >

22:屏蔽F5键

<script language="javascript">
< !--
function document.onkeydown()
{
    if ( event.keyCode==116)
    {
        event.keyCode = 0;
        event.cancelBubble = true;
        return false;
    }
}
-->
< /script>

<input type="text">

23:屏蔽主窗口滚动条

在body标签里加上 style="overflow-y:hidden"

24:取得控件的绝对位置

<script language="javascript">  
function getIE(e){  
 var t=e.offsetTop;  
 var l=e.offsetLeft;  
 while(e=e.offsetParent){  
  t+=e.offsetTop;  
  l+=e.offsetLeft;  
 }  
 alert("top="+t+"nleft="+l);  
}  
< /script> 

<input type="button" value="看看我的位置" οnclick="getIE(this);">

25:切换页面后,光标停在文本框文字的最后

<script language="javascript">
function cc()
{
 var e = event.srcElement;
 var r =e.createTextRange();
 r.moveStart("character",e.value.length);
 r.collapse(true);
 r.select();
}
< /script>
< input type=text name=text1 value="123" οnfοcus="cc();">

26:表格的半透明显示效果
在<head></head>之间加上如下代码:
<style>
.alpha{filter: Alpha(Opacity=50)} //50表示50%的透明度
</style>

在<body></body>之间加上如下代码:
<table border="1" width="100" height="62" class="alpha" bgcolor="#F2A664" >
< tr>
< td width="100%" height="62">
< div align="center">很酷吧!</div>
< /td>
< /tr>
< /table>

27:细线分隔线
<hr noshade size=0 color=#C0C0C0>

28:过渡度方式
<head>
< meta http-equiv="Page-Exit" content="revealTrans(Duration=3,Transition=3)">
< /head>
< a href="b.html">to b.html</a>
Duration的值为网页动态过渡的时间,单位为秒。
Transition是过渡方式,它的值为0到23,分别对应24种过渡方式。如下表:
0 盒状收缩 1 盒状放射
2 圆形收缩 3 圆形放射
4 由下往上 5 由上往下
6 从左至右 7 从右至左
8 垂直百叶窗 9 水平百叶窗
10 水平格状百叶窗 11垂直格状百叶窗
12 随意溶解 13从左右两端向中间展开
14从中间向左右两端展开 15从上下两端向中间展开
16从中间向上下两端展开 17 从右上角向左下角展开
18 从右下角向左上角展开 19 从左上角向右下角展开
20 从左下角向右上角展开 21 水平线状展开
22 垂直线状展开 23 随机产生一种过渡方式


29:如何控制横向和纵向滚动条的显隐?
<body style="overflow-y:hidden"> 去掉x轴
<body style="overflow-x:hidden"> 去掉y轴
<body scroll="no">不显

/
30:javascript中获取地址栏参数比如 index.jsp?id=xxx&name=xxx
方法一:
<script>
function getvalue(name)
{
var str=window.location.search;
if (str.indexOf(name)!=-1)
{
var pos_start=str.indexOf(name)+name.length+1;
var pos_end=str.indexOf("&",pos_start);
if (pos_end==-1)
{
return str.substring(pos_start);
}
else
{
return str.substring(pos_start,pos_end)
}
}
else
{
return "没有这个name值";
}
}
var strName=prompt("请输入您所要值的名字");
alert(getvalue(strName));
< /script>

方法二:
<script language="javascript">
 var URLParams = new Array();
 var aParams = document.location.search.substr(1).split('&');
 for (i=0;i<aParams.length;i++){
  var aParam = aParams[i].split("=");
  URLParams[aParam[0]] = aParam[1];
 }

//取得传过来的name参数
var v=URLParams["name"];
alert("name==="+v);
 </script>
 
方法三:
<script type="text/javascript">
Request = {
 QueryString : function(item){
  var svalue = location.search.match(new RegExp("[\?\&]" + item + "=([^\&]*)(\&?)","i"));
  return svalue ? svalue[1] : svalue;
 }
}
alert(Request.QueryString("name"));
< /script>

31:window对象的方法
open(URL,WindowName,parameterList):open方法创建一个新的浏览器窗口,并在新窗口中载入一个指定的URL地址。
close():close方法关闭一个浏览器窗口.
alert(text):弹出一个信息框.
confirm(text):弹出一个确认框.
prompt(text,Defaulttext):弹出一个提示框.
setTimeout(expression,time):定时设置,在一定时间后自动执行expression描述的代码,使用time设置时间,单位是毫秒.
clearTimeout(timer):取消以前的定时设置.
back():指示浏览器载入历史记录中的上一个URL地址.
forward():指示浏览器载入历史记录中的下一个URL地址.
stop():指示浏览器停止网页的装载.
location:提供当前窗口的URL信息
history:提供当前窗口的历史记录,可以在网页导航中发挥作用.
closed:一个指出窗口目前是否关闭的逻辑值.
self:引用当前文档对应的窗口.
navigate(url):窗口转向另外一个窗口

32:验证是否整数
<script type="text/javascript">
 function checkInteger(v){
  var s = ""+v;
  var ret = s.match(/^(-|\+)?\d+$/);
  if(ret==null){
   alert(v+" , 不是数字");
  }
 }
 checkInteger('01230');
 checkInteger("abc");
< /script>

33:验证是否都是数字,而且是正整数
<script type="text/javascript">
 function checkGreaterZero(v){
  var s = ""+v;
  var ret = s.match(/^\d+$/);
  if(ret==null){
   alert(v+" , 不是数字");
  }
 }
 checkGreaterZero('1230');
 checkGreaterZero("abc");
< /script>

34:验证是否都是数字,而且是负整数
<script type="text/javascript">
 function checkLitterZero(v){
  var s = ""+v;
  var ret = s.match(/^-\d+$/);
  if(ret==null){
   alert(v+" , 不是小于0的数字");
  }
 }
 checkLitterZero('-1230');
 checkLitterZero("123");
< /script>

35:短时间,形如 (13:04:06)
< script language="javascript">
      function isTime(str)
      {
        var a = str.match(/^(\d{1,2})(:)?(\d{1,2})\2(\d{1,2})$/);
        if (a == null) {alert('输入的参数不是时间格式'); return false;}
        if (a[1]>24 || a[3]>60 || a[4]>60)
        {
          alert(str+",时间格式不对");
          return false
        }
        return true;
      }
    
      isTime("12:09:39");
      isTime("33:55:99");
< /script>

36:短日期,形如 (2008-12-05)
< script language="javascript">
      function strDateTime(str)
      {
         var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
         if(r==null)return false;
         var d= new Date(r[1], r[3]-1, r[4]);
         return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
      }
    
      alert(strDateTime("2008-10-28"));
      alert(strDateTime("08-12-9"));
< /script>

37:长时间,形如 (2003-12-05 13:04:06)
< script language="javascript">
     function strDateTime(str)
      {
        var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;
        var r = str.match(reg);
        if(r==null)return false;
        var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]);
        return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]);
      }

      alert(strDateTime("2008-10-28 11:11:11"));
      alert(strDateTime("08-12-9 11:11:11"));
< /script>

38:检测值不能为空
<script language="javascript">
     function canNotEmpty(str)
      {
        if(str.replace(/^\s+|\s+$/g,'')==''){
         alert('不能为空!');
        }
        return true;
      }

      alert(canNotEmpty("2008-10-28 11:11:11"));
      alert(canNotEmpty("          "));
< /script>

39:判断字符全部由a-Z或者是A-Z的字字母组成
<script language="javascript">
     function isLetter(str)
      {
        if(/[^a-zA-Z]/g.test(str)){
         return false;
        }
        return true;
      }

      alert(isLetter("aaaSSFsadfa"));
      alert(isLetter("a3d"));
< /script>


40:判断字符由字母和数字组成
<script language="javascript">
     function isLetter(str)
      {
        if(/[^0-9a-zA-Z]/g.test(this.value)){
         return false;
        }
        return true;
      }

      alert(isLetter("aaaSSFsadfa"));
      alert(isLetter("a3d"));
< /script>

41:判断字符由字母和数字,下划线,点号组成.且开头的只能是下划线和字母
<script language="javascript">
     function isLetter(str)
      {
        if(/^([a-zA-z_]{1})([\w]*)$/g.test(str)){
         return true;
        }
        return false;
      }

      alert(isLetter(" aaaSSFsadfa"));
      alert(isLetter("_a3d"));
< /script>    

42:判断浏览器的类型
<script language="javascript">
      alert(window.navigator.appName);
< /script>

43:判断ie的版本
<script language="javascript">
      alert(window.navigator.appVersion);
< /script>

44:判断客户端的分辨率
<script language="javascript">
      alert(window.screen.height);
      alert(window.screen.width);
< /script> 

45:用正则表达式判断是否Email
< script language="javascript">
      function isMail(mail)
      {
        return(new RegExp(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/).test(mail));
      }
   alert(isMail("
cc@a.com"));
   alert(isMail("cc
1@a.com"));
< /script>

46:用正则表达式判断是否身份证号码
<script language="javascript">
      function isIdCardNo(num)
      {
        if (isNaN(num)) {alert("输入的不是数字!"); return false;}
        var len = num.length, re;
        if (len == 15)
          re = new RegExp(/^(\d{6})()?(\d{2})(\d{2})(\d{2})(\d{3})$/);
        else if (len == 18)
          re = new RegExp(/^(\d{6})()?(\d{4})(\d{2})(\d{2})(\d{3})(\d)$/);
        else {alert("输入的数字位数不对!"); return false;}
        var a = num.match(re);
        if (a != null)
        {
          if (len==15)
          {
            var D = new Date("19"+a[3]+"/"+a[4]+"/"+a[5]);
            var B = D.getYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5];
          }
          else
          {
            var D = new Date(a[3]+"/"+a[4]+"/"+a[5]);
            var B = D.getFullYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5];
          }
          if (!B) {alert("输入的身份证号 "+ a[0] +" 里出生日期不对!"); return false;}
        }
        return true;
      }
   alert(isIdCardNo("511111199001013456"));
   alert(isIdCardNo("511111199013313456"));
< /script>

47:给表格自动增行(msdn的例子)
<SCRIPT>
function createRows(){
   // insert two rows.
   var oRow1=oTable.insertRow(oTable.rows.length);
   var oRow2=oTable.insertRow(oTable.rows.length);
 
   // retrieve the rows collection for the table.
   var aRows=oTable.rows;
 
   // retrieve the cells collection for the first row.
   var aCells=oRow1.cells;
 
   // insert two cells into the first row.
   var oCell1_1=aRows(oRow1.rowIndex).insertCell(aCells.length);
   var oCell1_2=aRows(oRow1.rowIndex).insertCell(aCells.length);
 
   // retrieve the cells collection for the second row.
   aCells=oRow2.cells;
 
   // insert two cells into the second row.
   var oCell2_1=aRows(oRow2.rowIndex).insertCell(aCells.length);
   var oCell2_2=aRows(oRow2.rowIndex).insertCell(aCells.length);
 
   // Add regular HTML values to the 4 new cells.
   oCell1_1.innerHTML="<B>Cell 1.1!</B>";
   oCell1_2.innerHTML="<B>Cell 1.2!</B>";
   oCell2_1.innerHTML="<B>Cell 2.1!</B>";
   oCell2_2.innerHTML="<B>Cell 2.2!</B>"; 
}
< /SCRIPT>
< INPUT TYPE="button" VALUE="Create Rows" οnclick="createRows()">
< TABLE BORDER=1 ID="oTable">
< /TABLE>

48:严格的身份证验证
<script>
var aCity={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江",31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北",43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"xizang",61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外"}
 
function cidInfo(sId){
 var iSum=0
 var info=""
 if(!/^\d{17}(\d|x)$/i.test(sId))return false;
 sId=sId.replace(/x$/i,"a");
 if(aCity[parseInt(sId.substr(0,2))]==null)return "Error:非法地区";
 sBirthday=sId.substr(6,4)+"-"+Number(sId.substr(10,2))+"-"+Number(sId.substr(12,2));
 var d=new Date(sBirthday.replace(/-/g,"/"))
 if(sBirthday!=(d.getFullYear()+"-"+ (d.getMonth()+1) + "-" + d.getDate()))return "Error:非法生日";
 for(var i = 17;i>=0;i --) iSum += (Math.pow(2,i) % 11) * parseInt(sId.charAt(17 - i),11)
 if(iSum%11!=1)return "Error:非法证号";
 return aCity[parseInt(sId.substr(0,2))]+","+sBirthday+","+(sId.substr(16,1)%2?"男":"女")
}

document.write(cidInfo("380524198002300016"),"<br/>");
document.write(cidInfo("340524198002300019"),"<br/>")
document.write(cidInfo("340524197711111111"),"<br/>")
document.write(cidInfo("34052419800101001x"),"<br/>");
< /script>

49:验证IP地址
<SCRIPT LANGUAGE="JavaScript">
function isip(s){
 var check=function(v){try{return (v<=255 && v>=0)}catch(x){return false}};
 var re=s.split(".")
 return (re.length==4)?(check(re[0]) && check(re[1]) && check(re[2]) && check(re[3])):false
}

var s="202.197.78.129";
alert(isip(s))
< /SCRIPT>

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目录 -------------------------------------------------------------------------------- 第1章 javascript概述 1 1.1 什么是脚本语言 2 1.2 javascript简介 2 1.3 javascript与java的关系 3 1.4 javascript的基本构成 4 1.4.1 基本数据类型 4 1.4.2 变量 4 1.4.3 常量 5 1.4.4 表达式 6 1.4.5 运算符 6 1.5 javascript的基本语法 10 1.5.1 if条件选择语句 10 1.5.2 switch选择语句 11 1.5.3 do…while语句 12 1.5.4 while循环语句 13 1.5.5 for循环语句 14 1.5.6 break语句与continue语句 15 1.6 javascript的函数调用 16 1.6.1 函数的定义与调用 17 1.6.2 全局变量与局部变量 17 1.6.3 可变参数的函数 17 1.6.4 预定义函数 17 1.7 javascript的对象 19 1.7.1 对象的基本概述 19 1.7.2 对象属性 19 1.7.3 创建对象 20 1.7.4 使用对象 22 1.7.5 其他内部对象 24 1.8 小结 26 第2章 javascript中事件. 窗口和框架的处理 27 2.1 事件处理的基本概念 28 2.2 常用事件及处理 28 2.2.1 浏览器事件 29 2.2.2 鼠标事件 29 2.2.3 文本框事件 30 2.2.4 其他事件 31 2.3 什么是框架 31 2.4 使用框架 32 2.5 小结 32 第3章 链接类特效 33 3.1 按时消失的链接 34 3.2 带滚动提示的链接 36 3.3 动态变换的链接 37 3.4 滚动链接 38 3.5 不断闪动的链接 39 3.6 在按钮上定时显示不同的链接 40 3.7 带链接的滚动字幕 42 3.8 单击链接显示菜单 43 3.9 鼠标右键链接 44 3.10 显示当前页的所有链接 45 3.11 查看网址源代码 46 3.12 将站点加入收藏夹 47 3.13 单击按钮返回默认主页 47 3.14 给指定的人员发信 48 3.15 弹出菜单式链接 49 3.16 图片选择器 50 3.17 链接导航框 51 3.18 小球跟踪链接 52 3.19 单击按钮打开全屏窗口 56 3.20 单选按钮选择链接 56 3.21 隐藏的链接 57 3.22 变换链接颜色 58 3.23 固定链接的位置 59 第4章 时间类特效 61 4.1 时间的水中倒影 62 4.2 简单的日历 63 4.3 带有农历的日历 65 4.4 标题栏显示日期 68 4.5 标题栏显示时间 69 4.6 不同时间的不同问候 69 4.7 记录进入网站的时间 70 4.8 页面的最后更新日期 71 4.9 节日倒计时 72 4.10 定时打开指定页面 72 4.11 显示在背景上的时钟 73 4.12 动态显示访问时间 75 4.13 在指定时间内保存页面 76 4.14 离今天最近的两个星期天 78 4.15 记录在网站停留的时间 79 4.16 带开关的时钟 80 4.17 每天显示一条不同的信息 81 4.18 模拟时钟 82 4.19 英文式的文本时钟 84 4.20 关闭页面时弹出时间警告框 85 4.21 显示在按钮上的时间 86 4.22 计算出生时间 88 4.23 计算几天后将是什么日期 92 第5章 鼠标类特效 95 5.1 让鼠标悬停来开关窗口 96 5.2 鼠标的十字星准星 96 5.3 鼠标的文字跟踪 97 5.4 鼠标经过时改变文本颜色 99 5.5 鼠标驱动图片变化 100 5.6 鼠标悬停时背景色改变 101 5.7 鼠标右键弹出对话框 102 5.8 鼠标的图片旋转跟踪 103 5.9 旋转的鼠标光环 105 5.10 跟随鼠标旋转的文字 107 5.11 单击鼠标右键打开网站 109 5.12 跟着鼠标的烟花 109 5.13 跟随鼠标的时钟 111 5.14 屏蔽鼠标右键 115 5.15 跟随鼠标的滚动字幕 116 5.16 鼠标悬停打开新的页面 117 5.17 鼠标的指针踪迹效果 118 5.18 跟随鼠标跳动的星星 119 5.19 冒水泡的鼠标 121 5.20 跟随鼠标的幻影文字 123 5.21 非图片鼠标跟踪 124 5.22 自动变化的鼠标指针 127 5.23 跟随鼠标的流星 128 第6章 图片类特效 133 6.1 鼠标控制图片的明暗效果 134 6.2 来回摆动的图片 134 6.3 随意飘动的图像 136 6.4 随意走动的图片 137 6.5 图片的水中倒影效果 140 6.6 可以随意拖动的图片 140 6.7 “雷达”扫描图片效果 142 6.8 图片的变形效果 143 6.9 会抖动的图片 144 6.10 不停闪烁的图片 146 6.11 图片分割显示 146 6.12 图片穿行页面效果 148 6.13 自由移动的图片 149 6.14 图片代替按钮效果 150 6.15 图片的翻转效果 151 6.16 向外扩展的图片 152 6.17 鼠标悬停改变图片 153 6.18 图片模糊效果 155 6.19 图片的探照灯效果 156 6.20 跟随屏幕移动的图片 157 6.21 图片的模糊显示 158 6.22 图片的渐隐渐现 159 6.23 一堆开放的花朵 160 第7章 文字类特效 165 7.1 闪烁的按钮文字 166 7.2 逐个显示的变色文字.. 167 7.3 垂直滚动的文字 168 7.4 文字的渐隐渐显的效果 169 7.5 文字跳动的效果 170 7.6 状态栏的打字效果 172 7.7 文字的逐条显示 172 7.8 文字的旋转效果 174 7.9 文字的心跳效果 175 7.10 文字在文本框中坠落 176 7.11 文字飞舞的效果 178 7.12 横向移动的跑马灯 181 7.13 可随便移动的文字 182 7.14 水波形的文字 183 7.15 首字母大小写的变化 184 7.16 状态栏文字飞出效果 186 7.17 链接文字的滚动效果 188 7.18 不停变色的文字 189 7.19 文字颜色变化的显示效果 190 7.20 选中文本框中的全部文字 192 7.21 按钮上的滚动文字 193 7.22 从天而降的文字 194 7.23 鼠标悬停显示提示文字 200 第8章 页面类特效 203 8.1 下雨的页面效果 204 8.2 网页中的loading条 206 8.3 页面的制作完成时间 207 8.4 在状态栏显示输入字符的页面 208 8.5 页面的加密功能 209 8.6 调色板更换页面背景 211 8.7 滚动信息公告页面 213 8.8 页面背景的颜色变化 215 8.9 页面背景的随机显示 216 8.10 单击按钮打印当前页面 217 8.11 记录用户的来访次数 218 8.12 可选择的页面信息 219 8.13 文本框消失的页面 220 8.14 随机播放背景音乐的页面 221 8.15 能自动滚屏的页面 222 8.16 密码保护页面 223 8.17 检测ie所装插件的页面 224 8.18 页面向右滚屏 225 8.19 渐渐消失的页面 226 8.20 按钮锁定页面 226 8.21 在线改变背景颜色 227 8.22 雪花纷飞的页面 228 8.23 页面直接显示 230 第9章 窗口类特效 233 9.1 按指定要求打开的窗口 234 9.2 控制窗口的打开和关闭 235 9.3 从天而降的窗口 235 9.4 打开慢慢变大的窗口 236 9.5 打开一个四面变大的窗口 237 9.6 定时打开新的窗口 238 9.7 转动出现的窗口 239 9.8 自动弹出的窗口 241 9.9 自动消失的广告窗口 242 9.10 窗口的震动效果 243 9.11 同时打开10个窗口 244 9.12 检测系统信息窗口 245 9.13 测试链接速度的窗口 248 9.14 关闭窗口打开收藏夹 250 9.15 关闭窗口打开指定地址 250 9.16 显示载入时间的窗口 251 9.17 显示浏览器信息的窗口 252 9.18 显示访客登录信息的窗口 253 9.19 标题渐变的窗口 255 9.20 绝对全屏打开链接网页 257 9.21 打开一个频道窗口 258 9.22 在页面中打开窗口 258 9.23 自动滚动的窗口 259 第10章 其他特效 261 10.1 显示下载进度 262 10.2 打开或关闭隐藏层 263 10.3 打字速度测试 264 10.4 改变图片提示背景颜色 266 10.5 渐变色表格 269 10.6 列表内容相互转换 270 10.7 身体健康测试 273 10.8 网络知识测试 275 10.9 方框线上的闪耀效果 278 10.10 自动隐藏的菜单 281 10.11 自动收缩的菜单 283 10.12 爆炸式菜单链接 285 10.13 显示边框的菜单 287 10.14 右键菜单链接 289 10.15 首页导航菜单 291 10.16 ftp登录页面 292 10.17 html颜色代码表 293 10.18 计算平面上两点之间的距离 294 10.19 测试点击速度 295 10.20 元素周期表 297 10.21 计算器 299 10.22 自信测试 302 10.23 滚动交换链接 304 第11章 javascript与activex技术 311 11.1 activex组件 312 11.1.1 什么是activex组件 312 11.1.2 activex的内容 312 11.1.3 activex控制和internet 312 11.2 activex组件的应用 313 11.2.1 网页中的flash对象 313 11.2.2 flash对象的调用 314 11.3 asp与activex组件 315 11.4 asp与javascript语言 315 11.4.1 脚本语言 316 11.4.2 设置脚本语言 316 11.4.3 服务器端的脚本 316 11.4.4 javascript和vbscript的区别 317 11.5 asp与表单处理 317 11.5.1 form数据集合 317 11.5.2 form集合的提交方式 318 11.6 小结 319 第12章 javascript中的数据库调用 321 12.1 数据库的构建 322 12.2 数据库查询语句 323 12.2.1 sql数据库 323 12.2.2 asp中的sql语句 323 12.3 数据库的连接 324 12.3.1 odbc的dsn连接方法 324 12.3.2 odbc的直接连接方法 325 12.3.3 ole db的连接方法 325 12.4 数据库的查询 325 12.4.1 使用connection对象查询数据库 326 12.4.2 使用recordset对象查询数据库 327 12.5 使用javascript访问数据库 330 12.6 小结 331 第13章 综合实 333 13.1 勇闯迷宫 334 13.2 记忆力游戏 338 13.3 贪吃蛇游戏 342 13.4 打蜜蜂 345 13.5 射击游戏 350 13.6 螃蟹赛跑 353 13.7 数字拼图 358 13.8 填格子游戏 363 13.9 棒球动画 367 13.10 礼花动画 372

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值