1. 程式人生 > >當年寫ASP 用到的函式(ASP 通用函式庫)

當年寫ASP 用到的函式(ASP 通用函式庫)

<%
'==============================================
' 程式碼編寫:    江建 2004年2月17日
' 本程式碼功能:  用於開啟連線到資料庫
'==============================================
' 我的主頁 Http://vbcc.126.com
' 公司主頁 Http://www.ejet.com.cn
'==============================================
dim conn
dim connstr
dim connType,dbPath

connType=1
Set conn= Server.CreateObject("ADODB.Connection")

IF conn.State = 0 Then
 IF connType= 1 Then
  connstr = "Provider=SQLOLEDB;uid=shadow;pwd=XXXXXX;Initial Catalog=XXXXXX;server=(local);"
 Else
  dbPath = Server.Mappath("/") & "/hkcn/database/webhkcn.mdb"
  connstr = "Provider=Microsoft.JET.OLEDB.4.0;Data Source="& dbPath &";"
 End If
 conn.Open connstr
End If

Function SQLExecute(SqlStr)
 on error resume next
 Dim Rs
 Set Rs=Server.CreateObject("Adodb.Recordset")
 Rs.open SqlStr,conn,1,3
 Set SQLExecute=Rs
 If Err.Number <> 0 Then
  Response.Write("<font color=red>抱歉你在訪問本頁時出現一個錯誤以下是錯誤的詳細資訊。<br>")
  Response.Write("錯誤號:"&CStr(Hex(Err.Number))&"<br>")
  Response.Write("錯誤物件:"&Err.Source&"<br>")
  Response.Write("有關錯誤的詳細描述:"&Err.Description&"<br>")
  Response.Write("如果你始終無法訪問本頁請聯絡管理員。")
 End If
End Function
'=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
%>

<%
'=================================================
' Public Function
' Programmer by Jiang Jian(Shadow)
' Email:[email protected]
' Date: 2003-05-26
'=================================================

'>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
'判斷使用者是否登入
'>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Function ChkLogin(UserName,Pass)
 Dim Sql,Rs
 Sql="Select id,username,password FROM member WHERE username='"&UserName&"' And password='"&Pass&"'"
 Set Rs=SQLExecute(Sql)
 If Not (Rs.bof or Rs.eof) Then
  ChkLogin=Rs("ID")
 Else
  ChkLogin=False
 End If
 Rs.Close
 Set Rs=Nothing
End Function

'>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
'判斷是否非法提交資料 True 為正常 False 為非法提交
'>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Function ChkPost()
 Dim server_v1,server_v2
 Chkpost=False
 server_v1=Cstr(Request.ServerVariables("HTTP_REFERER"))
 server_v2=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

'====================================================
'判斷使用者名稱是否包含非法字元 True 合法的字串
'====================================================
Function CheckString(Str1)
 Dim N
 Dim S
 For N = 1 To Len(Str1)
  S = Asc(Mid(Str1, N))
  If S > 47 And S < 58 Or S > 64 And S < 91 Or S > 96 And S < 122 Or S = 95 Then '合法的字串
   CheckString=True
  Else 
   CheckString=False
  End If
 Next
End Function

'====================================================
'判斷字元是否為中文 True 合法 False 非法
'====================================================
Function IsChinese(Str)
 Dim N
 Dim S
 For N = 1 To Len(Str)
  S = Asc(Mid(Str, N))
  If S => 0  Then   
   IsChinese=False
   Exit for
  Else
   IsChinese=True
  End If
 Next
End Function

'>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
'判斷是否為合法的電話號碼 True 合法 False 非法
'>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Function IsPhone(Str)
 Dim strArray
 IsPhone=False
 strArray=Split(Str,"-",-1,1)
 IF Ubound(strArray)> 0 Then
  IF Len(strArray(0))>2 And Len(strArray(0))< 5 Then
   IF Len(strArray(1))>6 And Len(strArray(1))< 9 Then
    If IsNumeric(strArray(0))=True And  IsNumeric(strArray(1)) Then
     IsPhone=True
    End If
   End If
  End If
 End IF
End Function
 
'>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
'判斷是否為合法的電子郵件地址 True 合法 False 非法
'>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Function IsValidEmail(Email)
 Dim Names, name, i, c
 IsValidEmail = True
 Names = Split(Email, "@")
 
 If UBound(Names) <> 1 Then
  IsValidEmail = False
  Exit function
 End If
  
 For Each Name IN Names
  If Len(name) <= 0 Then
   IsValidEmail = False
   Exit Function
  End If
  For i = 1 To Len(name)
   c = Lcase(Mid(name, i, 1))
   If InStr("abcdefghijklmnopqrstuvwxyz_-.", c) <= 0 And Not IsNumeric(c) Then
    IsValidEmail = False
    Exit Function
   End If
  Next
  If Left(name, 1) = "." or Right(name, 1) = "." Then
   IsValidEmail = False
   Exit Function
   End If
  Next
  
 If InStr(names(1), ".") <= 0 Then
  IsValidEmail = False
  Exit Function
 End If
 
 i = Len(names(1)) - InStrRev(names(1), ".")
 If i <> 2 And i <> 3 Then
  IsValidEmail = False
  Exit Function
 End If
 
 If InStr(Email, "..") > 0 Then
  IsValidEmail = False
 End If
End function

'>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
'資料分頁顯示 strUrl 設定成自己本頁
'>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Function PageSplit(objRs,strUrl,cssClass,listSize,cssSep)
 Dim pgnum,page
 page=Request("page")
 objRs.PageSize = listSize
 pgnum=objRs.Pagecount
 if page="" or clng(page)<1 then page=1
 if clng(page) > pgnum then page=pgnum
 if pgnum>0 then objRs.AbsolutePage=page
 If page=1 Then
  Response.Write " 首 頁 | 上一頁 | "
 Else
  Response.Write " <a class="& cssClass &" href="&strUrl&"page=1>首 頁</a><span class="& cssSep &"> | </span>"
  Response.Write "<a class="& cssClass &" href="&strUrl&"page="&page-1&"> 上一頁</a><span class="& cssSep &"> | </span>"
 End if
 If objRs.pagecount-page<1 Then
  Response.Write "下一頁 | 尾 頁"
 Else
  Response.Write "<a class="& cssClass &" href="&strUrl&"page="&page+1&">下一頁</a><span class="& cssSep &"> | </span>"
  Response.Write "<a class="& cssClass &" href="&strUrl&"page="&objRs.pagecount&">尾 頁</a>"
 End if
 Response.Write "              第 "&page&" 頁/共 "&pgnum&" 頁"
End Function

'>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
'文章分頁顯示 strUrl 設定成自己本頁
'>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Public Function SplitPage(strContents)
 Dim Page,PageArray
 PageArray=SepPosition(strContents)
 Page=Request("page")
 pgnum=UBound(PageArray)
 IF page="" or clng(page)<0 Then page=0
 IF Clng(page) > pgnum Then page=pgnum
 
 IF pgnum = 0 Then '只有一頁
  SplitPage=strContents
  Exit Function
 End IF
 
 If Page = 0 Then
  SplitPage=Mid(strContents,1,PageArray(page)-1)
 ElseIf Clng(Page)=pgnum Then
  SplitPage=Mid(strContents,PageArray(page-1)+19,Len(strContents))
 Else
  SplitPage=Mid(strContents,PageArray(page-1)+19,PageArray(page)-(PageArray(page-1)+19))
 End if
End Function

Public Function NavPage(strPage)
 Page=Request("page")
 IF page="" or clng(page)<0 Then page=0
 IF pgnum > 0 Then
  IF Page = 0 Then
   Response.Write "<a class=""SepPage"" href="""&strPage&"&page=" & page & """>上一頁</a> "
  Else
   Response.Write "<a class=""SepPage"" href="""&strPage&"&page=" & page - 1 & """>上一頁</a> "
  End if
  
  If pgnum-Clng(Page)<1  Then
   Response.Write "<a class=""SepPage"" href="""&strPage&"&page=" & page &""">下一頁</a> "
  Else
   Response.Write "<a class=""SepPage"" href="""&strPage&"&page=" & page + 1 & """>下一頁</a>"
  End If
  Response.Write "<span class=""I""> 共 " & pgnum + 1 & " 頁 當前第 " & page + 1 & " 頁</span>"
 End IF
End Function

Public Function SepPosition(strContents)
 Dim intPos,strPos
 Dim intPageArray,strTemp
 strTemp = "[PAGE]------[/PAGE]"
 intPos=Instr(strContents,strTemp)
  strPos = intPos
 Do While (intPos)
  intPos=Instr(intPos+19,strContents,strTemp) 
  strPos=strPos & "," & intPos
 Loop
 SepPosition=Split(strPos,",")
End Function

'>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
'擷取一定數量的文字輸出
'>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Public Function OutText(strText,intOutSize)
 IF Len(strText)>intOutSize Then
  OutText = Left(strText,intOutSize-3) & "..."
 Else
  OutText = strText
 End If
End Function
%>

相關推薦

當年ASP 到的函式ASP 通用函式

<%'==============================================' 程式碼編寫:    江建 2004年2月17日' 本程式碼功能:  用於開啟連線到資料庫'=======================================

php常用公共函式非系統函式,關鍵的時候得著[thinkPHP5框架]

 本文基於thinkPHP5框架,但不限於它,需要的時候把需要的地方改成你需要的就可以用了: 例如:你的框架是CI,那麼查詢資料就不是用Db了,稍微修改即可 <?php use service\DataService; use service\NodeServic

自己的個C#ASP.NET連線SQL資料庫執行查詢和修改操作的類

這是今天花了一下時間編寫的一個ASP.NET(C# ,Framework3.5)連線SQL資料庫,執行SQL語句和獲取查詢返回資料集的類。 寫完後自己感覺,肯定這東西狀態還很原始,很多高階的需求還應對不上。目前能做的恐怕還只是基本操作,而且實現的還不一定怎麼好。 不管怎樣,

一步一步演算法通用資料結構

                【 宣告:版權所有,歡迎轉載,請勿用於商業用途。  聯絡信箱:feixiaoxing @163.com】    上一篇部落格介紹了通用演算法,那麼有了這個基礎我們可以繼續分析通用資料結構了。我們知道在c++裡面,既有資料又有函式,所以一個class就能幹很多事情。舉一個簡單的例

傻瓜型的ASP伺服器軟體asp執行環境一鍵搭建工具

傻瓜型的ASP伺服器軟體(asp執行環境一鍵搭建工具) 很早給客戶做的一個 ASP網站,他們一直維護更新,現在需要更新一些功能,我必須在自己的電腦本地搭建一下伺服器,IIS實在讓人看著煩,搜了一下,發現了這篇文章大量轉,有需要ASP的朋友,絕對好用,我選擇了AWS只需要你把他放在你

.NET/ASP.NET MVC模組化開發AraeRegistration

閱讀目錄: 1.開篇介紹 2.AreaRegistration註冊路由(傳遞路由上下文進行模組化註冊) 1】開篇介紹 ASP.NET Routing 路由功能非常強大,設計的也很巧妙;如果說ASP.NETMVC是建立在ASP.NET之上還不如準確的說ASP.NETMVC是建立在Routing基

自己 localtime 函式含完整註釋,程式碼

自己寫 localtime 函式(含完整註釋,程式碼) //對時間轉換有興趣的可以看看。//曾在某平臺下多執行緒中使用localtime庫函式。可惡的是,每當程式執行//一段時間後,都要出現記憶體洩露。查了數個夜晚為什麼,無從斷定。//只能狠狠心,自己寫了個localtime

setTimeout()和setInterval() 何時被調執行非多線程.RP

date() htm 並且 logs argument tle 有時 call line 定義 setTimeout()和setInterval()經常被用來處理延時和定時任務。setTimeout() 方法用於在指定的毫秒數後調用函數或計算表達式,而setInterval

讀取數據配置信息的兩種方式以後開發項目java鏈接數據-------java基礎知識

dmi 信息 bsp lock 開發 res port src font 第一步:先建立jdbc.properties 1 user=root 2 password=123456 3 url=mysql:jdbc://localhost:3306/yanlong 4 d

Python調C的DLL動態鏈接

ctypes href cnblogs .net net 得到 tro turn python 開發環境:mingw64位,python3.6 64位 參考博客: mingw編譯dll: https://blog.csdn.net/liyuanbhu/article/det

帶有預設引數的函式C++學習筆記 8

例如,有一個函式原型說明為: int special( int x=5, float y=5.3 ); 則x與y的預設引數值分別為5與5.3。 special (100, 79.8 )   //x=100,y=79.8 special(25)  //相當於special( 25, 5.3

記憶體管理函式C++學習筆記 14

一、C語言中的記憶體管理函式 記憶體分配函式主要有malloc( )和calloc( ),記憶體釋放函式是free( )。 這兩類函式的原型在stdlib.h中,要使用這些函式時,首先要用檔案包含: #include"stdlib.h" 或#include<stdli

看年薪50W的架構師如何手一個SpringMVC框架文末附視訊

前言 做 Java Web 開發的你,一定聽說過SpringMVC的大名,作為現在運用最廣泛的Java框架,它到目前為止依然保持著強大的活力和廣泛的使用者群。 本文介紹如何用eclipse一步一步搭建SpringMVC的最小系統,所謂最小系統,就是足以使專案在SpringMVC框架下成功

C++類和物件.四個預設成員函式賦值運算子過載

1.(1)類的定義   類就是具有相同資料和相同操作的一組物件的集合。 學生類定義: class student {//成員變數char* name;int age;int sex;//成員函式void speak(){cout<<name<<"年

雜湊函式雜湊函式,Hash Function

說明          雜湊的概念屬於查詢,它不以關鍵字的比較為基本操作,採用直接定址技術。在理想情況下,查詢的期望時間為O(1)。 簡單的說,hash函式就是把任意長的輸入字串變化成固定長的輸出字串的一種函式。輸出

交叉熵代價函式cross-entropy cost function

1.從方差代價函式說起 代價函式經常用方差代價函式(即採用均方誤差MSE),比如對於一個神經元(單輸入單輸出,sigmoid函式),定義其代價函式為: 其中y是我們期望的輸出,a為神經元的實際輸出【 a=σ(z), where z=wx+b 】。 在訓練神經網路過程中,我

過載++運算子為成員函式日期類函式設計也可以看一下

//這篇程式碼比較長建議貼上下來到dev裡面用左邊的+-把部分函式收起來一條條的開啟看 不容易亂 #include <iostream> using namespace std; class Date{ private: int year,month,day;//年月日 b

JavaScript函式內建函式,變數詳解

JavaScript函式(內建函式),變數詳解                                   &nb

Vue評價星星特效史上最少程式碼

<template>   <div>       <div class="star">         <span>星級評定</span&g

Python基礎9:高階函式map,reduce,filter,sorted

高階函式 定義:一個函式,可以接收另一個函式作為引數,這種函式稱之為高階函式。 理論基礎:  1:函式可以接收變數 2:函式名是指向函式的變數。 例如:abs,原本指向一個計算絕對值的函式,將他指向123後,abs變數就不再具有計算絕對值的能力。 map/