談asp非常實用的代碼(2)_ASP教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:如何提高asp程序訪問速度
      用asp程序進行網(wǎng)頁設(shè)計,大多因為需要訪問數(shù)據(jù)庫,然后再將數(shù)據(jù)顯示到頁面,如果數(shù)據(jù)很多的話,頁面的訪問速度也就變慢了,為了解決這個問題,可以用以下技巧來提高頁面訪問速度。 技巧之一:提高使用Request集合的效率 訪問一個ASP集合來提取一個值是費時的


      徹底屏蔽鼠標右鍵 

      oncontextmenu="window.event.returnvalue=false"將徹底屏蔽鼠標右鍵 
      或者 
      <script language="javascript"> 
      function click() 

      if (event.button==0) //event.button依環(huán)境值不同 

      alert("對不起,本頁的內(nèi)容不經(jīng)允許不得拷備。"); 


      window.document.onmousedown=click; 
      </script> 

      onpaste="returnfalse"不準粘貼 

      oncopy="returnfalse;"oncut="returnfalse;"防止復(fù)制 

      光標是停在文本框文字的最后 

      functioncc() 

      vare=event.srcElement; 
      varr=e.createTextRange(); 
      r.moveStart(’character’,e.value.length); 
      r.collapse(true); 
      r.select(); 


      判斷上一頁的來源 

      asp:request.servervariables("HTTP_REFERER") 
      javascript:document.referrer 

      網(wǎng)頁不會被緩存 

      Response.Expires=-1 
      Response.ExpiresAbsolute=Now()-1 
      Response.cachecontrol="no-cache" 


      過濾HTML標簽后的內(nèi)容

      ’函數(shù)名:RemoveHTML
      ’作  用:清除HTML標簽
      ’參  數(shù):strHTML 內(nèi)容
      ’返回值:過濾HTML標簽后的內(nèi)容

      function RemoveHTML(strHTML)  
          Dim objRegExp, Match, Matches   
          Set objRegExp = New Regexp  
          
          objRegExp.IgnoreCase = True  
          objRegExp.Global = True  
          ’取閉合的<>  
          objRegExp.Pattern = "<.+?>"  
          ’進行匹配  
          Set Matches = objRegExp.Execute(strHTML)  
          
          ’遍歷匹配集合,并替換掉匹配的項目  
          For Each Match in Matches   
              strHtml=Replace(strHTML,Match.Value,"")  
          Next  
          RemoveHTML=strHTML  
          Set objRegExp = Nothing  
      End function


      Function IIF(Expression,ReturnTrue,ReturnFalse) 
      If Expression Then 
      IIF = ReturnTrue 
      Else 
      IIF = ReturnFalse 
      End If 
      End Function 


      全功能安全過濾函數(shù) 

      ’參數(shù):請求方式,過濾類型,請求名,值類型,默認值 
      Function SafeRequest(Requester,FilterType,RequestName,RequestType,DefaultValue) 
      Dim tmpValue 
      Select Case Requester 
      Case 0 : tmpValue = RequestName 
      Case 1 : tmpValue = Request(RequestName) 
      Case 2 : tmpValue = Request.Form(RequestName) 
      Case 3 : tmpValue = Request.QueryString(RequestName) 
      Case 4 : tmpValue = Request.Cookies(RequestName) 
      End Select 

      Select Case RequestType 
      Case 0 
      If Not IsNumeric(tmpValue) Or Len(tmpValue) <=0 Then 
      tmpValue = CLng(DefaultValue) 
      Else 
      tmpValue = CLng(tmpValue) 
      End If 
      Case 1 
      If tmpValue="" Or IsNull(tmpValue) Then tmpValue=DefaultValue 
      Select Case FilterType 
      Case 0 : tmpValue = tmpValue 
      Case 1 : tmpValue = SafeSql(tmpValue) 
      Case 2 : tmpValue = FilterHtml(tmpValue) 
      End Select 
      Case 2 
      If Not IsDate(tmpValue) Or Len(tmpValue) <=0 Then 
      tmpValue = CDate(DefaultValue) 
      Else 
      tmpValue = CDate(tmpValue) 
      End If 
      End Select 

      SafeRequest = tmpValue 
      End Function 

      危險Sql過濾 

      ’參數(shù):Sql 
      ’返回:過濾結(jié)果 
      Function SafeSql(str) 
      SafeSql = Replace(str, "’", "&#39;") 
      End Function 
      ’函數(shù):過濾Html標簽 
      ’參數(shù):字符串 
      ’返回:過濾后的字符串 
      Function FilterHtml(str) 
      If IsNull(str) Or str="" Then FilterHtml="" : Exit Function 
      Dim r 
      Set r = New RegExp 
      r.IgnoreCase = True 
      r.Global = True 
      r.MultiLine = True 

      r.Pattern = " <.+?>" 
      FilterHtml = r.Replace(str,"") 
      Set r = Nothing 
      End Function  


      判斷發(fā)言是否來自外部 

      ’ChkPost=false 來自外部提交(非法) 
      ’ChkPost=true  合法提交表單 

      function ChkPost() 
      dim server_v1,server_v2 
      chkpost=false 
      server_v1=LCase(Cstr(Request.ServerVariables("HTTP_REFERER"))) 
      server_v2=LCase(Cstr(Request.ServerVariables("SERVER_NAME"))) 
      if mid(server_v1,8,len(server_v2)) <>server_v2 then 
      chkpost=false 
      else 
      chkpost=true 
      end if 
      end function

      ASP身份證號碼驗證函數(shù) 

      //var sss = "422324860305482";    
      //Response.Write(checkIDCard(sss, "03/05/1986", 0));    

      function checkIDCard(s, d, g)   
      {   
      if (!s) return false;   
      d = new Date(d);   
      if (!d.getTime()) return false;   

      var t, r;   

      t = "" + d.getFullYear() + dblNum(d.getMonth() + 1) + dblNum(d.getDate());   

      if (g == null || isNaN(g)) return false;   
      g = parseInt(g) % 2;   

      switch (s.length)   
      {   
      case 8 :   
      if (new Date() > d.setFullYear(d.getFullYear() + 19)) return false;   
      r = /^[\d]{8}$/;   
      if (!r.test(s)) return false;   
      if (s != t) return false;   

      break;   
      case 15 :   
      r = /^[\d]{15}$/;   
      if (!r.test(s)) return false;   
      if (s.substr(6, 6) != t.substr(2)) return false;   
      if (parseInt(s.charAt(14)) % 2 != g) return false;   

      break;   
      case 18 :   
      r = /^(?:[\d]{18}|[\d]{17}X)$/i;   
      if (!r.test(s)) return false;   
      if (s.substr(6, 8) != t) return false;   
      if (parseInt(s.charAt(16)) % 2 != g) return false;   

      var n = 0;   
      var w = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2); // 加權(quán)因子   
      var c = new Array("1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2"); // 校驗碼   

      for (var i = 0; i < 17; i++)   
      {   
      n += parseInt(s.charAt(i)) * w[i];   
      }   

      if (s.charAt(17).toUpperCase() != c[n % 11]) return false;   

      break;   
      default :   
      return false;   
      }   

      return true;   
      }   

      function dblNum(n)   
      {   
      return parseInt(n) < 10 ? "0" + n : n;   
      }  
      本文來自 13COM.NET, 本文地址:http://www.13com.net/article/article.asp?articleid=49

       

      分享:詳解ASP的Session對象
      一、屬性 1、SessionID SessionID屬性返回用戶的會話標識。在創(chuàng)建會話時,服務(wù)器會為每一個會話生成一個單獨的標識。會話標識以長整形數(shù)據(jù)類型返回。在很多情況下SessionID可以用于WEB頁面注冊統(tǒng)計。 2、TimeOut Timeout屬性以分鐘為單位為該應(yīng)用程序的Sessi

      來源:模板無憂//所屬分類:ASP教程/更新時間:2010-01-31
      相關(guān)ASP教程