收集实用功能和经典的javaScript代码

HTML事件的控件触发    
  http://dev.csdn.net/Develop/article/20/20566.shtm  
  JavaScript通用库(二)  
  http://dev.csdn.net/article/28/28057.shtm  
  破解网页禁止鼠标右键的技巧  
  http://dev.csdn.net/develop/article/19/19419.shtm  
  如何利用JAVASCRIPT实现浮动广告  
  http://community.csdn.net/Expert/topic/3226/3226990.xml?temp=.5731165  
  加入收藏夹大全  
  http://www.588188.com/netbook/tech/other/html/other.ohchina.6.htm  
  客户端脚本真藏  
  http://www.pcdog.com/info/2974.htm  
  //打开模式对话框  
  function   doSelectUser(txtId)    
  {  
   
              strFeatures="dialogWidth=500px;dialogHeight=360px;center=yes;middle=yes   ;help=no;status=no;scroll=no";  
              var   url,strReturn;  
       
              url="selUser.aspx";    
                   
              strReturn=window.showModalDialog(url,'',strFeatures);        
   
  }  
   
  //返回模式对话框的值  
  function   okbtn_onclick()    
  {  
  var   commstr='';                      
               
  window.returnValue=commstr;  
   
              window.close()   ;  
  }  
  全屏幕打开   IE   窗口  
  var   winWidth=screen.availWidth   ;  
  var   winHeight=screen.availHeight-20;  
  window.open("main.aspx","surveyWindow","toolbar=no,width="+   winWidth     +",height="+   winHeight     +",top=0,left=0,scrollbars=yes,resizable=yes,center:yes,statusbars=yes");  
  break  
  //脚本中中使用xml  
  function   initialize()   {  
      var   xmlDoc  
      var   xslDoc  
   
      xmlDoc   =   new   ActiveXObject('Microsoft.XMLDOM')  
      xmlDoc.async   =   false;  
   
      xslDoc   =   new   ActiveXObject('Microsoft.XMLDOM')  
      xslDoc.async   =   false;  
   
    xmlDoc.load("tree.xml")  
      xslDoc.load("tree.xsl")  
       
       
      folderTree.innerHTML   =   xmlDoc.documentElement.transformNode(xslDoc)  
  }

一、验证类  
  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、树型结构。  
      6.1   asp+SQL版  
      6.2   asp+xml+sql版  
      6.3   java+sql或者java+sql+xml  
  7、无边框效果的制作  
  8、连动下拉框技术  
  9、文本排序  
  10,画图类,含饼、柱、矢量贝滋曲线  
  11,操纵客户端注册表类  
  12,DIV层相关(拖拽、显示、隐藏、移动、增加)  
  13,TABLAE相关(客户端动态增加行列,模拟进度条,滚动列表等)  
  14,各种<object   classid=>相关类,如播放器,flash与脚本互动等  
  16,   刷新/模拟无刷新   异步调用类(XMLHttp或iframe,frame)  
   
   
   
   
   
   
  一、验证类  
  1、数字验证内  
      1.1   整数  
              /^(-|/+)?/d+$/.test(str)  
      1.2   大于0的整数   (用于传来的ID的验证)  
              /^/d+$/.test(str)  
      1.3   负整数的验证  
              /^-/d+$/.test(str)  
  2、时间类  
      2.1   短时间,形如   (13:04:06)  
              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("时间格式不对");  
                      return   false  
                  }  
                  return   true;  
              }  
      2.2   短日期,形如   (2003-12-05)  
              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]);  
              }  
      2.3   长时间,形如   (2003-12-05   13:04:06)  
              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]);  
              }  
      2.4   只有年和月。形如(2003-05,或者2003-5)  
      2.5   只有小时和分钟,形如(12:03)  
  3、表单类  
      3.1   所有的表单的值都不能为空  
              <input   οnblur="if(this.value.replace(/^/s+|/s+$/g,'')=='')alert('不能为空!')">  
      3.2   多行文本框的值不能为空。  
      3.3   多行文本框的值不能超过sMaxStrleng  
      3.4   多行文本框的值不能少于sMixStrleng  
      3.5   判断单选框是否选择。  
      3.6   判断复选框是否选择.  
      3.7   复选框的全选,多选,全不选,反选  
      3.8   文件上传过程中判断文件类型  
  4、字符类  
      4.1   判断字符全部由a-Z或者是A-Z的字字母组成  
              <input   οnblur="if(/[^a-zA-Z]/g.test(this.value))alert('有错')">  
      4.2   判断字符由字母和数字组成。  
              <input   οnblur="if(/[^0-9a-zA-Z]/g.test(this.value))alert('有错')">  
      4.3   判断字符由字母和数字,下划线,点号组成.且开头的只能是下划线和字母  
              /^([a-zA-z_]{1})([/w]*)$/g.test(str)  
      4.4   字符串替换函数.Replace();  
  5、浏览器类  
      5.1   判断浏览器的类型  
              window.navigator.appName  
      5.2   判断ie的版本  
              window.navigator.appVersion  
      5.3   判断客户端的分辨率  
              window.screen.height;     window.screen.width;  
       
  6、结合类  
      6.1   email的判断。  
              function   ismail(mail)  
              {  
                  return(new   RegExp(/^/w+((-/w+)|(/./w+))*/@[A-Za-z0-9]+((/.|-)[A-Za-z0-9]+)*/.[A-Za-z0-9]+$/).test(mail));  
              }  
      6.2   手机号码的验证  
      6.3   身份证的验证  
              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;  
              }  
   
  画图:  
  <OBJECT    
  id=S    
  style="LEFT:   0px;   WIDTH:   392px;   TOP:   0px;   HEIGHT:   240px"    
  height=240    
  width=392    
  classid="clsid:369303C2-D7AC-11D0-89D5-00A0C90833E6">  
  </OBJECT>  
  <SCRIPT>  
  S.DrawingSurface.ArcDegrees(0,0,0,30,50,60);  
  S.DrawingSurface.ArcRadians(30,0,0,30,50,60);  
  S.DrawingSurface.Line(10,10,100,100);  
  </SCRIPT> 

写注册表:  
  <SCRIPT>  
  var   WshShell   =   WScript.CreateObject("WScript.Shell");  
  WshShell.RegWrite   ("HKCU//Software//ACME//FortuneTeller//",   1,   "REG_BINARY");  
  WshShell.RegWrite   ("HKCU//Software//ACME//FortuneTeller//MindReader",   "Goocher!",   "REG_SZ");  
  var   bKey   =         WshShell.RegRead   ("HKCU//Software//ACME//FortuneTeller//");  
  WScript.Echo   (WshShell.RegRead   ("HKCU//Software//ACME//FortuneTeller//MindReader"));  
  WshShell.RegDelete   ("HKCU//Software//ACME//FortuneTeller//MindReader");  
  WshShell.RegDelete   ("HKCU//Software//ACME//FortuneTeller//");  
  WshShell.RegDelete   ("HKCU//Software//ACME//");  
  </SCRIPT>  
   
   
   
   
   
  TABLAE相关(客户端动态增加行列)  
  <HTML>  
  <SCRIPT   LANGUAGE="JScript">  
  function   numberCells()   {  
          var   count=0;  
          for   (i=0;   i   <   document.all.mytable.rows.length;   i++)   {  
                  for   (j=0;   j   <   document.all.mytable.rows(i).cells.length;   j++)   {  
                          document.all.mytable.rows(i).cells(j).innerText   =   count;  
                          count++;  
                  }  
          }  
  }  
  </SCRIPT>  
  <BODY   οnlοad="numberCells()">  
  <TABLE   id=mytable   border=1>  
  <TR><TH>&nbsp;</TH><TH>&nbsp;</TH><TH>&nbsp;</TH><TH>&nbsp;</TH></TR>  
  <TR><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR>  
  <TR><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD><TD>&nbsp;</TD></TR>  
  </TABLE>  
  </BODY>  
  </HTML>    
   
   
   
   
   
  1.身份证严格验证:  
   
  <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:"西藏",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>  
   
  2.验证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>  
   
   
   
  3.加sp1后还能用的无边框窗口!!  
  <HTML   XMLNS:IE>  
  <meta   http-equiv="Content-Type"   content="text/html;   charset=gb2312">  
  <IE:Download   ID="include"   STYLE="behavior:url(#default#download)"   />  
  <title>Chromeless   Window</title>  
   
  <SCRIPT   LANGUAGE="JScript">  
  /*---   Special   Thanks   For   andot   ---*/  
   
  /*  
    This   following   code   are   designed   and   writen   by   Windy_sk   <seasonx@163.net>  
    You   can   use   it   freely,   but   u   must   held   all   the   copyright   items!  
  */  
   
  /*---   Thanks   For   andot   Again   ---*/  
   
  var   CW_width =   400;  
  var   CW_height =   300;  
  var   CW_top =   100;  
  var   CW_left =   100;  
  var   CW_url =   "/";  
  var   New_CW =   window.createPopup();  
  var   CW_Body =   New_CW.document.body;  
  var   content =   "";  
  var   CSStext =   "margin:1px;color:black;   border:2px   outset;border-style:expression(οnmοuseοut=οnmοuseup=function(){this.style.borderStyle='outset'},   οnmοusedοwn=function(){if(event.button!=2)this.style.borderStyle='inset'});background-color:buttonface;width:16px;height:14px;font-size:12px;line-height:11px;cursor:Default;";  
   
  //Build   Window  
  include.startDownload(CW_url,   function(source){content=source});  
   
  function   insert_content(){  
  var   temp   =   "";  
  CW_Body.style.overflow =   "hidden";  
  CW_Body.style.backgroundColor =   "white";  
  CW_Body.style.border =     "solid   black   1px";  
  content   =   content.replace(/<a   ([^>]*)>/g,"<a   οnclick='parent.open(this.href);return   false'   $1>");  
  temp   +=   "<table   width=100%   height=100%   cellpadding=0   cellspacing=0   border=0>";  
  temp   +=   "<tr   style=';font-size:12px;background:#0099CC;height:20;cursor:default'   οndblclick=/"Max.innerText=Max.innerText=='1'?'2':'1';parent.if_max=!parent.if_max;parent.show_CW();/"   οnmοuseup='parent.drag_up(event)'   οnmοusemοve='parent.drag_move(event)'   οnmοusedοwn='parent.drag_down(event)'   onselectstart='return   false'   οncοntextmenu='return   false'>";  
  temp   +=   "<td   style='color:#ffffff;padding-left:5px'>Chromeless   Window   For   IE6   SP1</td>";  
  temp   +=   "<td   style='color:#ffffff;padding-right:5px;'   align=right>";  
  temp   +=   "<span   id=Help     οnclick=/"alert('Chromeless   Window   For   IE6   SP1     -     Ver   1.0//n//nCode   By   Windy_sk//n//nSpecial   Thanks   For   andot')/"   style=/""+CSStext+"font-family:System;padding-right:2px;/">?</span>";  
  temp   +=   "<span   id=Min       οnclick='parent.New_CW.hide();parent.blur()'   style=/""+CSStext+"font-family:Webdings;/"   title='Minimum'>0</span>";  
  temp   +=   "<span   id=Max       οnclick=/"this.innerText=this.innerText=='1'?'2':'1';parent.if_max=!parent.if_max;parent.show_CW();/"   style=/""+CSStext+"font-family:Webdings;/"   title='Maximum'>1</span>";  
  temp   +=   "<span   id=Close   οnclick='parent.opener=null;parent.close()'   style=/""+CSStext+"font-family:System;padding-right:2px;/"   title='Close'>x</span>";  
  temp   +=   "</td></tr><tr><td   colspan=2>";  
  temp   +=   "<div   id=include   style='overflow:scroll;overflow-x:hidden;overflow-y:auto;   HEIGHT:   100%;   width:"+CW_width+"'>";  
  temp   +=   content;  
  temp   +=   "</div>";  
  temp   +=   "</td></tr></table>";  
  CW_Body.innerHTML   =   temp;  
  }  
   
  setTimeout("insert_content()",1000);  
   
  var   if_max   =   true;  
  function   show_CW(){  
  window.moveTo(10000,   10000);  
  if(if_max){  
  New_CW.show(CW_top,   CW_left,   CW_width,   CW_height);  
  if(typeof(New_CW.document.all.include)!="undefined"){  
  New_CW.document.all.include.style.width   =   CW_width;  
  New_CW.document.all.Max.innerText   =   "1";  
  }  
   
  }else{  
  New_CW.show(0,   0,   screen.width,   screen.height);  
  New_CW.document.all.include.style.width   =   screen.width;  
  }  
  }  
   
  window.onfocus     =   show_CW;  
  window.onresize   =   show_CW;  
   
  //   Move   Window  
  var   drag_x,drag_y,draging=false  
   
  function   drag_move(e){  
  if   (draging){  
  New_CW.show(e.screenX-drag_x,   e.screenY-drag_y,   CW_width,   CW_height);  
  return   false;  
  }  
  }  
   
  function   drag_down(e){  
  if(e.button==2)return;  
  if(New_CW.document.body.offsetWidth==screen.width   &&   New_CW.document.body.offsetHeight==screen.height)return;  
  drag_x=e.clientX;  
  drag_y=e.clientY;  
  draging=true;  
  e.srcElement.setCapture();  
  }  
   
  function   drag_up(e){  
  draging=false;  
  e.srcElement.releaseCapture();  
  if(New_CW.document.body.offsetWidth==screen.width   &&   New_CW.document.body.offsetHeight==screen.height)   return;  
  CW_top     =   e.screenX-drag_x;  
  CW_left   =   e.screenY-drag_y;  
  }  
   
  </SCRIPT>  
  </HTML>  

 

贴两个关于treeview的  
      <script   language="javascript">  
  <!--  
  //初始化选中节点  
  function   initchecknode()  
  {  
    var   node=TreeView1.getTreeNode("1");  
    node.setAttribute("Checked","true");  
    setcheck(node,"true");    
    FindCheckedFromNode(TreeView1);  
  }  
  //oncheck事件  
  function   tree_oncheck(tree)  
  {  
    var   node=tree.getTreeNode(tree.clickedNodeIndex);  
    var   Pchecked=tree.getTreeNode(tree.clickedNodeIndex).getAttribute("checked");  
    setcheck(node,Pchecked);  
    document.all.checked.value="";  
    document.all.unchecked.value="";  
    FindCheckedFromNode(TreeView1);  
  }  
  //设置子节点选中  
  function   setcheck(node,Pc)  
  {  
    var   i;  
    var   ChildNode=new   Array();  
    ChildNode=node.getChildren();  
     
    if(parseInt(ChildNode.length)==0)  
      return;  
    else  
    {  
      for(i=0;i<ChildNode.length;i++)  
      {  
        var   cNode;  
        cNode=ChildNode[i];  
        if(parseInt(cNode.getChildren().length)!=0)  
          setcheck(cNode,Pc);  
        cNode.setAttribute("Checked",Pc);  
      }  
    }  
  }  
  //获取所有节点状态  
  function   FindCheckedFromNode(node)   {  
    var   i   =   0;  
    var   nodes   =   new   Array();  
    nodes   =   node.getChildren();  
     
    for   (i   =   0;   i   <   nodes.length;   i++)   {  
      var   cNode;  
      cNode=nodes[i];  
      if   (cNode.getAttribute("Checked"))  
        AddChecked(cNode);  
      else  
              AddUnChecked(cNode);  
       
      if   (parseInt(cNode.getChildren().length)   !=   0   )   {  
        FindCheckedFromNode(cNode);  
      }  
    }  
  }  
  //添加选中节点  
  function   AddChecked(node)   {  
    document.all.checked.value   +=   node.getAttribute("NodeData");  
    document.all.checked.value   +=   ',';  
  }  
  //添加未选中节点  
  function   AddUnChecked(node)   {  
    document.all.unchecked.value   +=   node.getAttribute("NodeData");  
    document.all.unchecked.value   +=   ',';  
  }  
  //-->  
      </script>  
treeview中如何在服务器端得到客户端设置后的节点选中状态  
    <script   language="C#"   runat="server">  
        private   void   Button1_Click(object   sender,   System.EventArgs   e)  
        {  
          Response.Write(TreeView1.Nodes[0].Checked);  
        }  
      </script>  
      <script   language="javascript">  
        function   set_check()  
        {  
          var   nodeindex   =   "0";  
          var   node=TreeView1.getTreeNode(nodeindex);  
          node.setAttribute("Checked","True");  
          TreeView1.queueEvent('oncheck',   nodeindex);  
        }  
      </script>  

http://www.baron.com.cn/javascript/time/20021106time1.htm  
  非常实用的日期选择代码

三個實用的小技巧:關閉輸入法.禁止貼上.禁止複製    
  關閉輸入法
 
   
  本文字框輸入法被關閉:      
  語法:   style="ime-mode:disabled"    
  範例:   <input   type="text"   name="textfield"   style="ime-mode:disabled">  
   
  禁止貼上    
   
  本文字框禁止貼上文字:      
  語法:οnpaste="return   false"    
  範例:<input   type="text"   name="textfield"   οnpaste="return   false">  
   
  禁止複製  
   
  本文字框禁止複製:      
  語法:οncοpy="return   false;"   oncut="return   false;"  
  範例:<input   name="textfield"   type="text"   value="不能複製裡面的字"   οncοpy="return   false;"   oncut="return   false;">  

http://www.imgshow.com/blog/showlog.asp?log_id=634&cat_id=35  
    页面嵌入式流媒体点唱机

//================================  
  //Cookie操作  
  //================================
 
  function   getCookieVal   (offset)  
  {  
  var   endstr   =   document.cookie.indexOf   (";",   offset);  
  if   (endstr   ==   -1)  
  endstr   =   document.cookie.length;  
  return   unescape(document.cookie.substring(offset,   endstr));  
  }  
   

 JS   中,一些东西不可用的三种展现方式。    
  我们在WEB项目中,有时候需要在用户点击某个东西的时候,一些东西不可用。如果在客户端实现。最简单的就是利用disabled   。下面罗列的其中三种方式:依次是:不可用(disabled);用一个空白来代替这个地方(Blank);这个区域为空(None)。具体可以查看这个Blog的源文件:
   
  obj.disabled   =   false;  
   
  obj.style.visibility   =   "hidden";  
   
  obj.style.display   =   "none";  
   
   
  <SCRIPT   language=javascript>  
  function   ShowDisableObject(obj)  
  {  
    if(obj.disabled   ==   false)  
    {  
      obj.disabled   =   true;  
    }  
    else{  
      obj.disabled   =   false;  
    }  
    var   coll   =   obj.all.tags("INPUT");  
    if   (coll!=null)  
    {  
      for   (var   i=0;   i<coll.length;   i++)  
      {    
        coll[i].disabled   =   obj.disabled;  
      }  
    }  
  }  
   
  function   ShowBlankObject(obj)  
  {  
    if(obj.style.visibility   ==   "hidden")  
    {  
      obj.style.visibility   =   "visible";  
    }  
    else  
    {  
      obj.style.visibility   =   "hidden";  
    }  
  }  
   
  function   ShowNoneObject(obj)  
  {  
    if(obj.style.display   ==   "none")  
    {  
      obj.style.display   =   "block";  
    }  
    else  
    {  
      obj.style.display   =   "none";  
    }  
  }  
   
  </SCRIPT>  
   
  <P></P>  
  <DIV   id=Show01>dadd    
  <DIV>ccc</DIV><INPUT>   <INPUT   type=checkbox>   </DIV>  
  <P><INPUT   οnclick=ShowDisableObject(Show01);   type=button   value=Disable>   <INPUT   id=Button1   οnclick=ShowBlankObject(Show01);   type=button   value=Blank   name=Button1>   <INPUT   id=Button2   οnclick=ShowNoneObject(Show01);   type=button   value=None   name=Button2>   </P><!--演示代码结束//-->
  function   GetCookie   (name)  
  {  
  var   arg   =   name   +   "=";  
  var   alen   =   arg.length;  
  var   clen   =   document.cookie.length;  
  var   i   =   0;  
  while   (i   <   clen)  
  {  
  var   j   =   i   +   alen;  
  if   (document.cookie.substring(i,   j)   ==   arg)  
  return   getCookieVal   (j);  
  i   =   document.cookie.indexOf("   ",   i)   +   1;  
  if   (i   ==   0)  
  break;  
  }  
  return   null;  
  }  
   
   
  function   deleteCookie(cname)   {  
   
      var   expdate   =   new   Date();  
      expdate.setTime(expdate.getTime()   -   (24   *   60   *   60   *   1000   *   369));  
   
    //   document.cookie   ="   ckValue="ok";   expires="+   expdate.toGMTString();  
      setCookie(cname,"",expdate);  
   
  }  
   
  function   setCookie   (name,   value,   expires)   {  
   
      document.cookie   =   name   +   "="   +   escape(value)   +  
          ";   expires="   +   expires.toGMTString()   ;  
  }  

 

js脚本中进行控制,在onkeypress   事件中写  
   
  function   onpress(){  
          if(event.keyCode==13   &&   document.all["textbox1"].value   !="")       //回车键   和   文本框不为空  
                  __doPostBack("button1","");       //button1是你想提交的控件;  
  }  
   
  <body   οnkeypress="return   onpress()"><>

 

*  
          随风JavaScript函数库  
      请把经过测试的函数加入库  
  */  
   
   
  /********************
 
  函数名称:StrLenthByByte  
  函数功能:计算字符串的字节长度,即英文算一个,中文算两个字节  
  函数参数:str,为需要计算长度的字符串  
  ********************/  
  function   StrLenthByByte(str)  
  {  
  var   len;  
  var   i;  
  len   =   0;  
  for   (i=0;i<str.length;i++)  
  {  
  if   (str.charCodeAt(i)>255)   len+=2;   else   len++;  
  }  
  return   len;  
  }  
   
  /********************  
  函数名称:IsEmailAddress  
  函数功能:检查Email邮件地址的合法性,合法返回true,反之,返回false  
  函数参数:obj,需要检查的Email邮件地址  
  ********************/  
  function   IsEmailAddress(obj)  
  {  
  var   pattern=/^[a-zA-Z0-9/-]+@[a-zA-Z0-9/-/.]+/.([a-zA-Z]{2,3})$/;  
  if(pattern.test(obj))  
  {  
  return   true;  
  }  
  else  
  {  
  return   false;  
  }  
  }  
   
  /********************  
  函数名称:PopWindow  
  函数功能:弹出新窗口  
  函数参数:pageUrl,新窗口地址;WinWidth,窗口的宽;WinHeight,窗口的高  
  ********************/  
  function   PopWindow(pageUrl,WinWidth,WinHeight)  
  {  
  var   popwin=window.open(pageUrl,"PopWin","scrollbars=yes,toolbar=no,location=no,directories=no,status=no,menubar=no,resizable=no,width="+WinWidth+",height="+WinHeight);  
  return   false;  
  }  
   
  /********************  
  函数名称:PopRemoteWindow  
  函数功能:弹出可以控制父窗体的原程窗口  
  函数参数:pageUrl,新窗口地址;  
  调用方法:打开窗口:<a   href="javascript:popRemoteWindow(url);">Open</a>  
                      控制父窗体:opener.location=url;当然还可以有其他的控制  
  ********************/  
  function   PopRemoteWindow(pageUrl)  
  {  
  var   remote=window.open(url,"RemoteWindow","scrollbars=yes,toolbar=yes,location=yes,directories=yes,status=yes,menubar=yes,resizable=yes");  
  if(remote.opener==null)  
  {  
  remote.opener=window;  
  }  
  }  
   
   
  /********************  
  函数名称:IsTelephone  
  函数功能:固话,手机号码检查函数,合法返回true,反之,返回false  
  函数参数:obj,待检查的号码  
  检查规则:  
    (1)电话号码由数字、"("、")"和"-"构成  
    (2)电话号码为3到8位  
    (3)如果电话号码中包含有区号,那么区号为三位或四位  
    (4)区号用"("、")"或"-"和其他部分隔开  
    (5)移动电话号码为11或12位,如果为12位,那么第一位为0  
    (6)11位移动电话号码的第一位和第二位为"13"  
    (7)12位移动电话号码的第二位和第三位为"13"  
  ********************/  
  function   IsTelephone(obj)  
  {  
  var   pattern=/(^[0-9]{3,4}/-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^/([0-9]{3,4}/)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)/;  
  if(pattern.test(obj))  
  {  
  return   true;  
  }  
  else  
  {  
  return   false;  
  }  
  }  
   
  /********************  
  函数名称:IsLegality  
  函数功能:检查字符串的合法性,即是否包含"   '字符,包含则返回false;反之返回true  
  函数参数:obj,需要检测的字符串  
  ********************/  
  function   IsLegality(obj)  
  {  
  var   intCount1=obj.indexOf("/"",0);  
  var   intCount2=obj.indexOf("/'",0);  
  if(intCount1>0   ||   intCount2>0)  
  {  
  return   false;  
  }  
  else  
  {  
  return   true;  
  }  
  }  
   
  /********************  
  函数名称:IsNumber  
  函数功能:检测字符串是否全为数字  
  函数参数:str,需要检测的字符串  
  ********************/  
  function   IsNumber(str)  
  {  
  var   number_chars   =   "1234567890";  
  var   i;  
  for   (i=0;i<str.length;i++)  
  {  
  if   (number_chars.indexOf(str.charAt(i))==-1)   return   false;  
  }  
  return   true;  
  }  
   
  /********************  
  函数名称:Trim  
  函数功能:去除字符串两边的空格  
  函数参数:str,需要处理的字符串  
  ********************/  
  function   Trim(str)  
  {  
  return   str.replace(/(^/s*)|(/s*$)/g,   "");  
  }  
   
  /********************  
  函数名称:LTrim  
  函数功能:去除左边的空格  
  函数参数:str,需要处理的字符串  
  ********************/  
  function   LTrim(str)  
  {  
  return   str.replace(/(^/s*)/g,   "");  
  }  
   
  /********************  
  函数名称:RTrim  
  函数功能:去除右边的空格  
  函数参数:str,需要处理的字符串  
  ********************/  
  function   RTrim(str)  
  {  
    return   this.replace(/(/s*$)/g,   "");  
  }  
   
  /********************  
  函数名称:IsNull  
  函数功能:判断给定字符串是否为空  
  函数参数:str,需要处理的字符串  
  ********************/  
  function   IsNull(str)  
  {  
  if(Trim(str)=="")  
  {  
  return   false;  
  }  
  else  
  {  
  return   true;  
  }  
  }  
   
  /********************  
  函数名称:CookieEnabled  
  函数功能:判断cookie是否开启  
  ********************/  
  function   CookieEnabled()  
  {  
  return   (navigator.cookieEnabled)?   true   :   false;  
  }  
   
   
  /*字符串替换方法*/  
  function   StrReplace(srcString,findString,replaceString,start)  
  {  
  //code  
  }  
   
  /*客户端HTML编码*/  
  function   HtmlEncode(str)  
  {  
  //code  
  }

********************************************************************  
  * *  
  * 函数功能: 判断是否是闰年 *  
  * 输入参数: 数字字符串 *  
  * 返回值: true,是闰年/false,其它 *  
  * 调用函数: *  
  * *  
  ********************************************************************/  
  function   IsLeapYear(iYear)  
  {  
  if   (iYear+""   ==   "undefined"   ||   iYear+"" ==   "null"   ||   iYear+""   ==   "")  
  return   false;  
   
  iYear   =   parseInt(iYear);  
  var isValid =   false;  
   
  if((iYear   %   4   ==   0   &&   iYear   %   100   !=   0)   ||   iYear   %   400   ==   0)  
  isValid =   true;  
   
  return   isValid;        
  }  
  /********************************************************************  
  * *  
  * 函数功能: 取出指定年、月的最后一天 *  
  * 输入参数: 年份,月份 *  
  * 返回值: 某年某月的最后一天 *  
  * 调用函数: IsLeapYear *  
  * *  
  ********************************************************************/  
  function   GetLastDay(iYear,iMonth)  
  {  
  iYear   =   parseInt(iYear);  
  iMonth   =   parseInt(iMonth);  
   
  var iDay   =   31;  
   
  if((iMonth==4||iMonth==6||iMonth==9||iMonth==11)&&iDay   ==   31)  
  iDay   =   30;  
   
  if(iMonth==2   )  
  if   (IsLeapYear(iYear))  
  iDay   =   29;  
  else  
  iDay   =   28;  
    return   iDay;        
  }  
  /********************************************************************  
  * *  
  * 函数功能: 去字符串的头空和尾空 *  
  * 输入参数: 字符串 *  
  * 返回值: 字符串/null 如果输入字符串不正确 *  
  * 调用函数: TrimLeft()   和   TrimRight() *  
  * *  
  ********************************************************************/  
  function   Trim(   str   )  
  {  
  var resultStr   = "";  
   
  resultStr   = TrimLeft(str);  
  resultStr   = TrimRight(resultStr);  
   
  return   resultStr;  
  }  
   
  /********************************************************************  
  * *  
  * 函数功能: 去字符串的头空 *  
  * 输入参数: 字符串 *  
  * 返回值: 字符串/null 如果输入字符串不正确 *  
  * 调用函数: *  
  * *  
  ********************************************************************/  
  function   TrimLeft(   str   )  
  {  
  var resultStr   = "";  
  var i   = len =   0;  
   
  if   (str+""   ==   "undefined"   ||   str   == null)  
  return   null;  
   
  str +=   "";  
   
  if   (str.length   ==   0)    
  resultStr   = "";  
  else  
  {  
  len =   str.length;  
   
  while   ((i   <=   len)   &&   (str.charAt(i) ==   "   "))  
  i++;  
   
  resultStr   = str.substring(i,   len);  
  }  
   
  return   resultStr;  
  }  
   
  /********************************************************************  
  * *  
  * 函数功能: 去字符串的尾空 *  
  * 输入参数: 字符串 *  
  * 返回值: 字符串/null 如果输入字符串不正确 *  
  * 调用函数: *  
  * *  
  ********************************************************************/  
  function   TrimRight( str )  
  {  
  var resultStr   = "";  
  var i   = 0;  
   
  if   (str+""   ==   "undefined"   ||   str   == null)  
  return   null;  
   
  str +=   "";  
   
  if   (str.length   ==   0)    
  resultStr   = "";  
  else  
  {  
  i   = str.length   -   1;  
  while   ((i   >=   0) &&   (str.charAt(i)   ==   "   "))  
  i--;  
   
  resultStr   = str.substring(0,   i   +   1);  
  }  
   
  return   resultStr;  
  }  
   
  /********************************************************************  
  * *  
  * 函数功能: 判断输入的字符串是否为数字 *  
  * 输入参数: 输入的对象 *  
  * 返回值: true-数字/false-非数字 *  
  * 调用函数: *  
  * *  
  ********************************************************************/  
  function   isNumber(objName)  
  {  
  var   strNumber   =   objName.value;  
  var   intNumber;  
   
  if(Trim(strNumber)   ==   "")  
  {  
  return   true;  
  }  
   
  intNumber   =   parseInt(strNumber,   10);  
  if   (isNaN(intNumber))    
  {  
  alert("请输入数字.");  
  objName.focus();  
  return   false;  
  }  
  return   true;  
  }  
   
  /********************************************************************  
  * *  
  * 函数功能: 判断输入的字符串是否为数字 *  
  * 输入参数: 输入的对象 *  
  * 返回值: true-数字/false-非数字 *  
  * 调用函数: *  
  * *  
  ********************************************************************/  
  function   isFloat(objName)  
  {  
  var   strFloat   =   objName.value;  
  var   intFloat;  
   
  if(Trim(strFloat)   ==   "")  
  {  
  return   true;  
  }  
   
  intFloat   =   parseFloat(strFloat);  
  if   (isNaN(intFloat))    
  {  
  alert("Please   input   a   number.");  
  objName.focus();  
  return   false;  
  }  
  return   true;  
  }  
   
  }

/********************************************************************  
  * *  
  * 函数功能: 判断输入的字符串是否为合法的时间 *  
  * 输入参数: 输入的字符串 *  
  * 返回值: true-合法的时间/false-非法的时间 *  
  * 调用函数: *  
  * *  
  ********************************************************************/  
  function   checkDate(strDate)  
  {  
  var   strDateArray;  
  var   strDay;  
  var   strMonth;  
  var   strYear;  
  var   intday;  
  var   intMonth;  
  var   intYear;  
  var   strSeparator   =   "-";  
  var   err   =   0;  
   
  strDateArray   =   strDate.split(strSeparator);  
   
  if   (strDateArray.length   !=   3)    
  {  
  err   =   1;  
  return   false;  
  }  
  else    
  {  
  strYear   =   strDateArray[0];  
  strMonth   =   strDateArray[1];  
  strDay   =   strDateArray[2];  
  }  
   
  intday   =   parseInt(strDay,   10);  
  if   (isNaN(intday))    
  {  
  err   =   2;  
  return   false;  
  }  
  intMonth   =   parseInt(strMonth,   10);  
  if   (isNaN(intMonth))    
  {  
                  err   =   3;  
  return   false;  
  }  
  intYear   =   parseInt(strYear,   10);  
  if(strYear.length   !=   4)  
  {  
  return   false;  
  }  
  if   (isNaN(intYear))    
  {  
  err   =   4;  
  return   false;  
  }  
   
   
  if   (intMonth>12   ||   intMonth<1)    
  {  
  err   =   5;  
  return   false;  
  }  
   
  if   ((intMonth   ==   1   ||   intMonth   ==   3   ||   intMonth   ==   5   ||   intMonth   ==   7   ||   intMonth   ==   8   ||   intMonth   ==   10   ||   intMonth   ==   12)   &&   (intday   >   31   ||   intday   <   1))    
  {  
  err   =   6;  
  return   false;  
  }  
   
  if   ((intMonth   ==   4   ||   intMonth   ==   6   ||   intMonth   ==   9   ||   intMonth   ==   11)   &&   (intday   >   30   ||   intday   <   1))    
  {  
  err   =   7;  
  return   false;  
  }  
   
  if   (intMonth   ==   2)    
  {  
  if   (intday   <   1)    
  {  
  err   =   8;  
  return   false;  
  }  
   
  if   (LeapYear(intYear)   ==   true)    
  {  
  if   (intday   >   29)    
  {  
  err   =   9;  
  return   false;  
  }  
  }  
  else    
  {  
  if   (intday   >   28)    
  {  
  err   =   10;  
  return   false;  
  }  
  }  
  }  
   
  return   true;  
  }  
   
  /********************************************************************  
  * *  
  * 函数功能: 判断是否为闰年 *  
  * 输入参数: 输入的年 *  
  * 返回值: true-是/false-不是 *  
  * 调用函数: *  
  * *  
  ********************************************************************/  
  function   LeapYear(intYear)    
  {  
  if   (intYear   %   100   ==   0)    
  {  
  if   (intYear   %   400   ==   0)   {   return   true;   }  
  }  
  else    
  {  
  if   ((intYear   %   4)   ==   0)   {   return   true;   }  
  }  
  return   false;  
  }  
   
  /********************************************************************  
  * 函数功能: *  
  ********************************************************************/  
  function   formDateCheck(year,month,day)  
  {  
  var   strY   =   Trim(year);  
  var   strM   =   Trim(month);  
  var   strD   =   Trim(day);  
  var   strDate   =   strY   +   "-"   +   strM   +   "-"   +   strD;  
  if((strY   +   strM   +   strD)   !=   "")  
  {  
  if(!checkDate(strDate))  
  {  
  return   false;  
  }  
  }  
  return   true;  
  }  
   
  /********************************************************************  
  * 函数功能: 将form所有输入字段重置 *  
  ********************************************************************/  
  function   setFormReset(objForm)  
  {  
  objForm.reset();  
  }  
  /********************************************************************  
  * 函数功能: 计算字符串的实际长度 *  
  ********************************************************************/  
   
  function   strlen(str)  
  {  
  var   len;  
  var   i;  
  len   =   0;  
  for   (i=0;i<str.length;i++)  
  {  
  if   (str.charCodeAt(i)>255)   len+=2;   else   len++;  
  }  
  return   len;  
  }  
  /********************************************************************  
  * 函数功能: 判断输入的字符串是不是中文 *  
  ********************************************************************/  
   
   
  function   isCharsInBag   (s,   bag)  
  {    
  var   i,c;  
  for   (i   =   0;   i   <   s.length;   i++)  
  {    
  c   =   s.charAt(i);//字符串s中的字符  
  if   (bag.indexOf(c)   >   -1)    
  return   c;  
  }  
  return   "";  
  }  
   
  function   ischinese(s)  
  {  
  var   errorChar;  
  var   badChar   =   "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789><,[]{}?/+=|/'/":;~!#$%()`";  
  errorChar   =   isCharsInBag(   s,   badChar)  
  if   (errorChar   !=   ""   )  
  {  
  //alert("请重新输入中文/n");  
  return   false;  
  }    
   
  return   true;  
  }  
   
  /********************************************************************  
  * 函数功能: 判断输入的字符串是不是英文 *  
  ********************************************************************/  
   
   
  function   isCharsInBagEn   (s,   bag)  
  {    
  var   i,c;  
  for   (i   =   0;   i   <   s.length;   i++)  
  {    
  c   =   s.charAt(i);//字符串s中的字符  
  if   (bag.indexOf(c)   <0)    
  return   c;  
  }  
  return   "";  
  }  
   
  function   isenglish(s)  
  {  
  var   errorChar;  
  var   badChar   =   "   ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";  
  errorChar   =   isCharsInBagEn(   s,   badChar)  
  if   (errorChar   !=   ""   )  
  {  
  //alert("请重新输入英文/n");  
  return   false;  
  }    
   
  return   true;  
  }  
  function   isnum(s)  
  {  
  var   errorChar;  
  var   badChar   =   "0123456789";  
  errorChar   =   isCharsInBagEn(   s,   badChar)  
  if   (errorChar   !=   ""   )  
  {  
  //alert("请重新输入英文/n");  
  return   false;  
  }    
   
  return   true;  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值