js常見函數

function setCookie(name,value)
{
  var Days = 30; //此 cookie 將被保存 30 天
  var exp  = new Date();    //new Date("December 31, 9998");
  exp.setTime(exp.getTime() + Days*24*60*60*1000);
  document.cookie = name + "="+ escape(value) +";expires="+ exp.toGMTString();
}
function getCookie(name)
{
  var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
  if(arr != null) return unescape(arr[2]); return null;
}
function delCookie(name)
{
  var exp = new Date();
  exp.setTime(exp.getTime() - 1);
  var cval=getCookie(name);
  if(cval!=null) document.cookie=name +"="+cval+";expires="+exp.toGMTString();
}


<script type="text/javascript">
var _st = window.setTimeout;

/*重載window.setTimeout函數,引用的函數能夠帶參數*/
window.setTimeout = function(fRef, mDelay) {
 if(typeof fRef == 'function'){
  var argu = Array.prototype.slice.call(arguments,2);
alert(typeof(argu));
  var f = (function(){ fRef.apply(null, argu); });
  return _st(f, mDelay);
 }
 return _st(fRef,mDelay);
}

function test(x){
 alert(x);
}
window.setTimeout(test,3000,'fason');
</script>


<script language=javascript>
<!--
/*@cc_on @*/
/*@if (@_win32 && @_jscript_version>=5)
function window.confirm(str)
{
    str=str.replace(/\'/g, "'&chr(39)&'").replace(/\r\n|\n|\r/g, "'&VBCrLf&'");
    execScript("n = msgbox('"+ str +"', 257, '自定的的 confirm')", "vbscript");
    return(n==1);
}
@end @*/
alert(confirm('sure?'));
// -->
</script>


//兩端去空格函數
function trim(str) {
return str.replace(/(^\s*)|(\s*$)/g,"");
}


<script>
//爲Number增長length方法
Number.prototype.length = function()
{
return String(this).length;
}

alert((11).length())
</script>

Ms XmlDom 異步裝載Xml文件 
放在這裏,算做是資源備份吧。

<script>
var xmldoc;
function Load(){
  xmldoc = new ActiveXObject("Msxml2.DOMDocument");
  xmldoc.onreadystatechange = CheckState;
  xmldoc.resolveExternals = false;
  xmldoc.load(URL.value);
}
function CheckState(){
  var state = xmldoc.readyState;
  RESULTS.innerHTML += "加載狀態 = " + state + "<BR>"
  if (state == 4){
    var err = xmldoc.parseError;
    if (err.errorCode != 0)
      RESULTS.innerHTML += err.reason +  "<BR>"
    else
    {
     RESULTS.innerHTML += "加載成功。" +  "<BR>"
     alert(xmldoc.xml)
     }
  } 

</script>
URL: <input type=text size=60 id=URL value="http://dotnet.aspx.cc/Rss.aspx">
<input type=button value="正在XML" onclick="Load()">
<div id=RESULTS style="color:red; font-weight:bold;"></div></script>


//帶中文字符串長度,一箇中文字長度爲2
String.prototype.lenB = function(){return this.replace(/[^\x00-\xff]/g,"**").length;}
 document.all.tes1.value.lenB();


預判斷一下連接URL是否可用

<script language="javascript">
function getURL(url)
{
    var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    xmlhttp.open("GET",url,false);
    xmlhttp.send();
    if (xmlhttp.readyState==4)
      alert((xmlhttp.Status==200)?"存在":"不存在");
}
//user like this:
getURL("http://localhost/1.asp")
</script>


//將數字轉換成三位逗號分隔的樣式
function formatNum(s) 
{
  if(!/^(\+|-)?\d+(\.\d+)?$/.test(num)){alert("wrong!"); return num;}
  var re = new RegExp().compile("(\\d)(\\d{3})(,|\\.|$)");
  num += ""; while(re.test(num))
    num = num.replace(re, "$1,$2$3")
  return num;
}
alert(formatNum(-12345678.123));
alert(formatNum("12345678.123"));
alert(formatNum("10000000000000000000000000000000000000000"));


格式化日期:yyyy-m-d to yyyy-mm-dd

<SCRIPT LANGUAGE="JavaScript">
<!--
var str = "2005-3-2"; //2005-03-02
var str = "2005-3-22"; //2005-03-02
str = str.replace(/(\D)(\d)(?=\D|$)/g, "$10$2");
alert(str);
//-->
</SCRIPT>


表格中的行刪除功能,用checkbox選擇的
<script language="JavaScript">
<!--
var curRow=null;
function selectRow(tr1){
if(curRow)
curRow.bgColor="#FFFFFF";
tr1.bgColor="e7e7e7";
curRow=tr1;
}
function delTr(){
var chks=document.getElementsByName("chkDelete");
var tb=document.getElementById("tbContent");
for(var i=chks.length-1;i>=0;i--){
if(chks[i].checked){
tb.deleteRow(i);
}
}
}
//-->
</script>
<div align="center" style="overflow:auto; width:400; height:300px " id="divVector">
<table id="tbContent" border=1 width="300">
<script language="JavaScript">
<!--
for(var i=0;i<25;i++)
document.write('<tr height=20 onmouseover="selectRow(this)"><td algin="center" 

width="20%"><input type="checkbox" name="chkDelete"></td><td width="80%" 

align="center">'+i+'</td></tr>');
//-->
</script>
</table>
</div>
<input type="button" value=" 刪除選中的行 " onclick="delTr()">


yyyy-mm-dd格式日期完整校驗加提示
<script language="JavaScript">
<!--
function CheckDate(strDate){
var reg=/^(\d{4})([-])(\d{2})([-])(\d{2})/;
if(!reg.test(strDate)){
alert("日期格式不正確!\n正確格式爲:2004-01-01");
return false;
}
var ss=strDate.split("-");
var year=ss[0];
var month=ss[1];
var date=ss[2];
if(!checkYear(year)){return false;}
if(!checkMonth(month)){return false;}
if(!checkDate(year,month,date)){return false;}
return true;
}
function checkYear(year){
if(isNaN(parseInt(year))){alert("年份輸入有誤,請從新輸入!"); return false;}
else if(parseInt(year)<1950 || parseInt(year) >2050){ alert("年份應該在1950-2050之間

!"); return false}
else return true;
}
function checkMonth(month){
if(isNaN(parseInt(month))){alert("月份輸入有誤,請從新輸入!"); return false;}
else if(parseInt(month)<1 || parseInt(month) >12){ alert("月份應該在1-12之間!"); 

return false}
else return true;
}
function checkDate(year,month,date){
var daysOfMonth=CalDays(parseInt(year),parseInt(month));
if(isNaN(parseInt(date))){alert("日期輸入有誤,請從新輸入!"); return false;}
else if(parseInt(date)<0||parseInt(date)>daysOfMonth){ alert("日期應該在1

-"+daysOfMonth+"之間!"); return false;}
else return true;
}
function CalDays(year,month){
var date= new Date(year,month,0);
return date.getDate();
}
function isLeapYear(year){
if((year %4==0 && year %100!=0) || (year %400==0)) return true;
else return false;
}
alert(CheckDate("2007-02-29"));
//-->
</script>


<script language="JavaScript">
<!--
/* 函數名稱 : dateAfterDays
 * 函數功能 : 返回與某日期相距N天(N個24小時)的日期
 * 函數參數 : num number類型 能夠爲正負整數或者浮點數
 * 函數返回 : 新的日期
 * 調用方法 : dateObject.dateAfterDays(num);
 */
Date.prototype.dateAfterDays=function(num){
if(typeof(num)!="number") throw new Error("Date(num)參數爲數值類型.",-1);
var date = this.valueOf();
date += num*24*3600*1000;
return new Date(date);
}
var dd= new Date();
alert(dd.dateAfterDays(1.5));
//-->
</script>


相似CSDN感興趣社區配置頁面中的checkbox選擇的功能
<script language="JavaScript">
<!--
function chkClk(obj){
var chks=document.getElementsByName(obj.name);
if(obj.flag=="main"){
for(var i=1;i<chks.length;i++)
chks[i].checked=obj.checked;
}
else{
for(var i=1;i<chks.length;i++)
if(chks[i].checked==false){
chks[0].checked=false;
break;
}
else{
if(i==chks.length-1) chks[0].checked=true;
}
}
}
//-->
</script>

<input type="checkbox" onclick="chkClk(this)" name="type1" flag="main">typetext
<li><input type="checkbox" onclick="chkClk(this)" name="type1">typetext</li>
<li><input type="checkbox" onclick="chkClk(this)" name="type1">typetext</li>
<br/><br/>
<input type="checkbox" onclick="chkClk(this)" name="type2" flag="main">typetext
<li><input type="checkbox" onclick="chkClk(this)" name="type2">typetext</li>
<li><input type="checkbox" onclick="chkClk(this)" name="type2">typetext</li>javascript

==========================================================
JAVASCRIPT的經常使用技術(二)

css

一、事件類 
  1.1 屏蔽右鍵 
      在body標籤里加上oncontextmenu=self.event.returnValue=false   
  1.2 屏蔽全部功能鍵html


  1.3 --> 和<-- F5 F11,F9,F1java


  1.4 屏蔽組合鍵ctrl+N瀏覽器


<script language=javascript> 
function KeyDown(){    
  if ((window.event.altKey)&& 
      ((window.event.keyCode==37)||   file://屏蔽 Alt+ 方向鍵 ← 
       (window.event.keyCode==39))){  file://屏蔽 Alt+ 方向鍵 → 
     alert("不許你使用ALT+方向鍵前進或後退網頁!"); 
     event.returnValue=false; 
     } 
  if ((event.keyCode==8)||            file://屏蔽退格刪除鍵 
      (event.keyCode==116)){          file://屏蔽 F5 刷新鍵 
     event.keyCode=0; 
     event.returnValue=false; 
     } 
  if ((event.ctrlKey)&&(event.keyCode==78)){   file://屏蔽 Ctrl+n 
     event.returnValue=false; 
     } 
  if ((event.shiftKey)&&(event.keyCode==121)){ file://屏蔽 shift+F10 
     event.returnValue=false; 
     } 
  if (event.keyCode==122){ file://屏蔽 F11 
     event.returnValue=false; 
     } 
  } 
只要知道keyCode便可屏蔽全部功能鍵cookie



1、驗證類 
一、數字驗證內 
  1.1 整數 
      /^(-|\+)?\d+$/.test(str) 
  1.2 大於0的整數 (用於傳來的ID的驗證) 
      /^\d+$/.test(str) 
  1.3 負整數的驗證 
      /^-\d+$/.test(str) 
二、時間類 
  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 app


(d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&
d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==less


r[7]); 
      } 
  2.4 只有年和月。形如(2003-05,或者2003-5) 
  2.5 只有小時和分鐘,形如(12:03) 
三、表單類 
  3.1 全部的表單的值都不能爲空 
      <input onblur="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.1 判斷字符所有由a-Z或者是A-Z的字字母組成 
      <input onblur="if(/[^a-zA-Z]/g.test(this.value))alert('有錯')"> 
  4.2 判斷字符由字母和數字組成。 
      <input onblur="if(/[^0-9a-zA-Z]/g.test(this.value))alert('有錯')"> 
  4.3 判斷字符由字母和數字,下劃線,點號組成.且開頭的只能是下劃線和字母 
      /^([a-zA-z_]{1})([\w]*)$/g.test(str) 
  4.4 字符串替換函數.Replace(); 
五、瀏覽器類 
  5.1 判斷瀏覽器的類型 
      window.navigator.appName 
  5.2 判斷ie的版本 
      window.navigator.appVersion 
  5.3 判斷客戶端的分辨率 
      window.screen.height;  window.screen.width; 
   
六、結合類 
  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; 
      }異步



3.7 複選框的全選,多選,全不選,反選 
<form name=hrong> 
<input type=checkbox name=All onclick="checkAll('mm')">全選<br/> 
<input type=checkbox name=mm onclick="checkItem('All')"><br/> 
<input type=checkbox name=mm onclick="checkItem('All')"><br/> 
<input type=checkbox name=mm onclick="checkItem('All')"><br/> 
<input type=checkbox name=mm onclick="checkItem('All')"><br/> 
<input type=checkbox name=mm onclick="checkItem('All')"><br/><br/>函數



<input type=checkbox name=All2 onclick="checkAll('mm2')">全選<br/> 
<input type=checkbox name=mm2 onclick="checkItem('All2')"><br/> 
<input type=checkbox name=mm2 onclick="checkItem('All2')"><br/> 
<input type=checkbox name=mm2 onclick="checkItem('All2')"><br/> 
<input type=checkbox name=mm2 onclick="checkItem('All2')"><br/> 
<input type=checkbox name=mm2 onclick="checkItem('All2')"><br/>


</form>


<SCRIPT LANGUAGE="javascript"> 
function checkAll(str) 

  var a = document.getElementsByName(str); 
  var n = a.length; 
  for (var i=0; i<n; i++) 
  a[i].checked = window.event.srcElement.checked; 

function checkItem(str) 

  var e = window.event.srcElement; 
  var all = eval("document.hrong."+ str); 
  if (e.checked) 
  { 
    var a = document.getElementsByName(e.name); 
    all.checked = true; 
    for (var i=0; i<a.length; i++) 
    { 
      if (!a[i].checked){ all.checked = false; break;} 
    } 
  } 
  else all.checked = false; 

</SCRIPT>


3.8 文件上傳過程當中判斷文件類型 
<input type=file onchange="alert(this.value.match(/^(.*)(\.)(.{1,8})$/)[3])">


 


不斷地清空剪貼板: 
<body onload="setInterval('clipboardData.setData(\'Text\',\'\')',100)">



<script language="javascript" type="text/javascript"> 
file://先複製同樣東西,或者文本或者圖片 
if(clipboardData.getData("Text")||clipboardData.getData("HTML")||
clipboardData.getData("URL")) 

alert("有效行爲"); 

</script>
===========================================================
JAVASCRIPT的經常使用技術(三)

真正的全屏頁面解決之道!(全代碼)  真正全屏解決之道:  1.htm  <html>  <head>  <title>無標題文檔</title>  <meta http-equiv="Content-Type" content="text/html; charset=gb2312">  </head>  <body onload="window.open('fullscreen.htm','','fullscreen=1,scroll=no');">  </body>  </html>  fullscreen.htm  <html>  <head>  <title>無標題文檔</title>  <meta http-equiv="Content-Type" content="text/html; charset=gb2312">  <script language="javascript1.2">   <!--   function opensmallwin(myurl){   var w2=300;//想彈出窗口的寬度   var h2=100;//想彈出窗口的高度   var w3=window.screen.width/2-w2/2;   var h3=window.screen.height/2-h2/2;   window.open(myurl,'small','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=0,width='+ w2 +',height='+ h2 +',left='+ w3 +',top='+ h3 +'');   }   file://-->   <!--  function modelesswin(url,mwidth,mheight){    if (document.all&&window.print)      eval('window.external.m2_blocked(url,"","help:0;resizable:0;status:0;center:1;scroll:0;dialogWidth:'+mwidth+'px;dialogHeight:'+mheight+'px")')     else      eval('window.open(url,"","width='+mwidth+'px,height='+mheight+'px,resizable=1,scrollbars=1")')    }  file://-->  </script>   </head>  <body  scroll="no">  <div align="right"><a href="javascript:" onclick="window.close()">關閉</a> </div>  <p></P>  <div align="right"><a href="javascript:" onclick="opensmallwin('login.htm')">登陸</a> </div>  <p></P>  <div align="center"><a href="javascript:" onclick="modelesswin('login.htm',300,160)">用模態登陸窗口</a> </div>  </body>  </html>  login.htm  <html>  <head>  <title>用戶登陸</title>  <meta http-equiv="Content-Type" content="text/html; charset=gb2312">  <style type="text/css">  <!--  body {     background-color: #EAEAEA;     font-family: Arial, Helvetica, sans-serif;     font-size: 12px;     line-height: 24px;     color: #336699;  }  input.boxline {     width: 100px;     font-family: "Times New Roman", "Times", "serif";     font-size: 9pt;     border: 1px solid #669999;     height: 18px;  }  input.whiteline {       font-size: 12px; border: 1px #999999 solid  }  -->  </style></head>  <body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">  <table width="100%" height="100%" border="0" cellpadding="0" cellspacing="14" bgcolor="#CCCCCC">    <tr valign="top">      <td width="10%" nowrap  align="right"><b>用戶名:</b></td>      <td width="90%"><input name="textfield1" type="text" size="25" class="whiteline"></td>    </tr>    <tr valign="top">      <td nowrap align="right"><b>密 碼:</b></td>      <td><input name="textfield12" type="password" size="25" class="whiteline"></td>    </tr>    <tr valign="top">      <td> </td>      <td><input type="submit" name="Submit" value="登  錄" class="boxline"></td>    </tr>  </table>  </body>  </html>  自動關掉原窗口:  <html>  <head>  <title>無標題文檔</title>  <meta http-equiv="Content-Type" content="text/html; charset=gb2312">  <style type="text/css">  <!--  body {     margin-left: 0px;     margin-top: 0px;     margin-right: 0px;     margin-bottom: 0px;  }  -->  </style>  </head>  <body onload="window.open('fullscreen.htm','','fullscreen=1,scroll=no');window.opener=null;window.close()">  <input type=button value=關閉 onclick="window.opener=null;window.close()">   <!-- IE5.5+ 不會有彈出提示 -->   <OBJECT id=WebBrowser classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 width=0></OBJECT>   <input type=button value=關閉窗口 onclick=document.all.WebBrowser.ExecWB(45,1)>   </body>  </html>  關鍵是在onload事件中加入:  window.opener=null;window.close()  預讀圖片: <SCRIPT LANGUAGE="javascript"> <!-- This script and many more are available free online at --> <!-- The javascript Source!! <a href=http://javascript.internet.com target=_blank>http://javascript.internet.com --> <!-- Begin image1 = new Image(); image1.src = "image1.gif"; image2 = new Image(); image2.src = "image2.gif"; // End --> </script>  關於兩個網頁刷新交互的問題  JS處理方法:  a.htm  <a href="b.htm" target=blank>發表留言</a>  <script>  alert("wwwwwwwwwwwwwwwwwwwwwwwwww");  </script>  b.htm  <script language="javascript">  file://window.opener.location.reload();刷新父窗口  file://window.opener.location="2.htm"//重定向父窗口到2.htm頁  function closewindow()  {  window.opener.location.reload();  self.close();  window.opener.document.write("sssssssssssssssssss");  }  </script>  <a href="b.htm" target=blank onclick="closewindow();">關閉</a>   後臺處理方法:  private btnForSubmit(Object sender,EventArgs e)  {   .............   Response.Write("<script>window.opener.document.execCommand('refresh');window.opener='';window.close();</script>");  file://string str="<script>window.opener.document.execCommand('refresh');window.opener='';window.close();</script>";  file://this.RegisterStartupScript("mycode",str);------------

相關文章
相關標籤/搜索