几个有用的ASP Function
<%@ Language=VBScript CODEPAGE=950%> <% Option Explicit %> <%' ============================================ ' 常用全局變量 ' ============================================ ' 數據庫對像 Dim oConn, oRs, sSql' ============================================ ' 初始數據處理 ' ============================================ ' 執行每天隻需處理一次的事件 'Call BrandNewDay()' 初始化數據庫連接 'Call DBConnBegin()' ******************************************** ' 以下為初始函數 ' ******************************************** ' ============================================ ' 執行每天隻需處理一次的事件 ' ============================================ Sub BrandNewDay()Dim sDate, y, m, d, wDim sDateChinesesDate = Date()If Application("date_today") = sDate Then Exit Suby = CStr(Year(sDate))m = CStr(Month(sDate))If Len(m) = 1 Then m = "0" & md = CStr(Day(sDate))If Len(d) = 1 Then d = "0" & dw = WeekdayName(Weekday(sDate))sDateChinese = y & "年" & m & "月" & d & "日 " & wApplication.LockApplication("date_today") = sDateApplication("date_chinese") = sDateChinese '今天的中文樣式 Application.Unlock End Sub' ******************************************** ' 以下為數據庫相關函數 ' ******************************************** ' ============================================ ' 初始化數據庫連接對像 ' 使用原則:最遲調用,最早釋放 ' ============================================ Sub DBConnBegin()' 如果數據庫對像已打開,不要再打開If IsObject(oConn) = True Then Exit Sub' 你可以不需要打開數據庫連接對像而直接打開記錄集對像,但如果你需要打開多個記錄集對像的話,效率是很低的。' 如果你不創建一個數據庫連接對像,ADO會在每個記錄集打開時自動創建一個新的數據庫連接對像,就算你用的是相同的SQL語句。Set oConn = Server.CreateObject("ADODB.Connection")On Error Resume Next' Access數據庫oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("db/ewebeditor.mdb")' SQL Server 2000數據庫'oConn.Open "Provider=SQLOLEDB.1;Server=localhost;UID=ewebeditor;PWD=123456;Database=ewebeditor" If Err.Number > 0 Then' 顯示錯誤信息,並且發送郵件通知管理員'Call DBConnError(Err)' 完全地退出正在運行的腳本 Response.EndEnd If' 創建一個記錄集Set oRs = Server.CreateObject( "ADODB.Recordset" ) End Sub' ============================================ ' 釋放數據庫連接對像 ' ============================================ Sub DBConnEnd()On Error Resume NextoRs.CloseSet oRs = NothingoConn.CloseSet oConn = Nothing End Sub' ******************************************** ' 以下為常用函數 ' ******************************************** ' ============================================ ' 錯誤返回處理 ' ============================================ Sub Go_Error(str)Call DBConnEnd()Response.Write "<script language=javascript>alert('" & str & "\n\n系統將自動返回前一頁面');history.back();</script>"Response.End End Sub' ============================================ ' 格式化時間(顯示) ' 參數:n_Flag ' 1:"yyyy-mm-dd hh:mm:ss" ' 2:"yyyy-mm-dd" ' 3:"hh:mm:ss" ' 4:"yyyy年mm月dd日" ' 5:"yyyymmdd" ' ============================================ Function Format_Time(s_Time, n_Flag)Dim y, m, d, h, mi, sFormat_Time = ""If IsDate(s_Time) = False Then Exit Functiony = cstr(year(s_Time))m = cstr(month(s_Time))If len(m) = 1 Then m = "0" & md = cstr(day(s_Time))If len(d) = 1 Then d = "0" & dh = cstr(hour(s_Time))If len(h) = 1 Then h = "0" & hmi = cstr(minute(s_Time))If len(mi) = 1 Then mi = "0" & mis = cstr(second(s_Time))If len(s) = 1 Then s = "0" & sSelect Case n_FlagCase 1' yyyy-mm-dd hh:mm:ssFormat_Time = y & "-" & m & "-" & d & " " & h & ":" & mi & ":" & sCase 2' yyyy-mm-ddFormat_Time = y & "-" & m & "-" & dCase 3' hh:mm:ssFormat_Time = h & ":" & mi & ":" & sCase 4' yyyy年mm月dd日Format_Time = y & "年" & m & "月" & d & "日"Case 5' yyyymmddFormat_Time = y & m & dEnd Select End Function' ============================================ ' 把字符串進行HTML解碼,替換server.htmlencode ' 去除Html格式,用於顯示輸出 ' ============================================ Function outHTML(str)Dim sTempsTemp = stroutHTML = ""If IsNull(sTemp) = True ThenExit FunctionEnd IfsTemp = Replace(sTemp, "&", "&")sTemp = Replace(sTemp, "<", "<")sTemp = Replace(sTemp, ">", ">")sTemp = Replace(sTemp, Chr(34), """)sTemp = Replace(sTemp, Chr(10), "<br>")outHTML = sTemp End Function' ============================================ ' 去除Html格式,用於從數據庫中取出值填入輸入框時 ' 注意:value="?"這邊一定要用雙引號 ' ============================================ Function inHTML(str)Dim sTempsTemp = strinHTML = ""If IsNull(sTemp) = True ThenExit FunctionEnd IfsTemp = Replace(sTemp, "&", "&")sTemp = Replace(sTemp, "<", "<")sTemp = Replace(sTemp, ">", ">")sTemp = Replace(sTemp, Chr(34), """)inHTML = sTemp End Function' ============================================ ' 檢測上頁是否從本站提交 ' 返回:True,False ' ============================================ Function IsSelfRefer()Dim sHttp_Referer, sServer_NamesHttp_Referer = CStr(Request.ServerVariables("HTTP_REFERER"))sServer_Name = CStr(Request.ServerVariables("SERVER_NAME"))If Mid(sHttp_Referer, 8, Len(sServer_Name)) = sServer_Name ThenIsSelfRefer = TrueElseIsSelfRefer = FalseEnd If End Function' ============================================ ' 得到安全字符串,在查詢中使用 ' ============================================ Function Get_SafeStr(str)Get_SafeStr = Replace(Replace(Replace(Trim(str), "'", ""), Chr(34), ""), ";", "") End Function' ============================================ ' 取實際字符長度 ' ============================================ Function Get_TrueLen(str)Dim l, t, c, il = Len(str)t = lFor i = 1 To lc = Asc(Mid(str, i, 1))If c < 0 Then c = c + 65536If c > 255 Then t = t + 1NextGet_TrueLen = t End Function' ============================================ ' 判斷是否安全字符串,在注冊登錄等特殊字段中使用 ' ============================================ Function IsSafeStr(str)Dim s_BadStr, n, is_BadStr = "' &<>?%,;:()`~!@#$^*{}[]|+-=" & Chr(34) & Chr(9) & Chr(32)n = Len(s_BadStr)IsSafeStr = TrueFor i = 1 To nIf Instr(str, Mid(s_BadStr, i, 1)) > 0 ThenIsSafeStr = FalseExit FunctionEnd IfNext End Function%>
几个有用的ASP Function相关推荐
- asp前端日历_asp日历-和asp日历相关的内容-阿里云开发者社区
ASP.NET MVC中加载WebForms用户控件(.ascx) 原文:ASP.NET MVC中加载WebForms用户控件(.ascx) 问题背景 博客园博客中的日历用的是ASP.NET WebF ...
- ASP网络多功能办公系统设计与实现
互联网的出现与迅速发展,信息技术步伐的加快,使得企业面临着众多的挑战与竞争,在竞争过程中,对于一个集团企业而言,对信息的掌握程度.信息获取是否及时.信息能否得到充分的利用.对信息的反应是否敏感准确,也 ...
- Fckeditor PHP/ASP File Upload Vul
目录 1. 漏洞描述 2. 漏洞触发条件 3. 漏洞影响范围 4. 漏洞代码分析 5. 防御方法 6. 攻防思考 1. 漏洞描述 FCKeditor是目前最优秀的可见即可得网页编辑器之一,它采用Jav ...
- ASP.NET Web Pages – Chart 帮助器简介
Web 帮助器大大简化了 Web 开发和常见的编程任务.Chart 帮助器是众多有用的 ASP.NET Web 帮助器之一. Chart 帮助器 "Chart 帮助器" 可以创建不 ...
- 你可能已经知道或者不知道的ASP.NET 2.0技巧(转载)
1.在CallBack之后保持滚动条的位置 在Asp.Net1.1中,CallBack之后保持滚动条的位置是一件非常痛苦的事情,特别是页中有一个Grid并且想要编辑特定的行.为了不停留在想要得行,页面 ...
- 【转】ASP.NET中页面传值
http://www.cnblogs.com/wenly/archive/2008/06/10/1216678.html 一.目前在ASP.NET中页面传值共有这么几种方式: 1.表单提交, & ...
- ASP导出数据到excel
最近做一个用asp做的网站后台的数据导出功能时,google,baidu了很多,但是多数都是转载,代码大概都一样,但是就是报错,最后有人说通过设置MIME类型和建立模板,最后整理,测试问题终于解决.关 ...
- 简易ASP文件缓存技术
注意:系统需要FSO权限.XMLHTTP权限 系统包括两个文件,其实可以合并为一个.之所以分为两个是因为部分杀毒软件会因为里边含有FSO.XMLHTTP操作而被认为是脚本木马. 调用时,需要在ASP页 ...
- 使用ASP生成HTML文件
共有两个页面index.htm是首页.程序比较简单,主要是用了ASP里的文件操作对象. <!--index.htm----------------------> <!DOCTYPE ...
最新文章
- 如何解决Python3写入CSV出现‘gbk‘ codec can‘t encode的错误
- Algorithm:【Algorithm算法进阶之路】之十大经典排序算法
- 膨胀的JavaBeans –不要在您的API中添加“ Getters”
- java学习(166):socket服务端和客户端连接
- C++中关于隐藏的理解
- docker tag 镜像id_手摸手带你 Docker 从入门到实践
- PHP PDO的简单使用(query(),exec(),prepare(),Transaction,行锁)
- 软件测试面试题(含答案)
- 直博人数远大于硕士人数,清华计算机系到底有多强?
- python预处理tif格式图片
- python 极客学院 正则表达式
- android 平板 不支持apk,平板电脑上怎么无法打开apk文件
- [Excel函数] COUNT函数 | COUNTIF函数 | COUNTIFS函数
- 您要的FPGA开发软件都在这里
- matlab函数积分怎么写,Matlab求分段函数的积分
- could not resolve dependency: npm err! peer react@“^16.8.0 || ^17.0.0“ from @material-ui/core@4.12.4
- Conditional Likelihood Maximisation: A Unifying Framework for Information Theoretic Feature Selecti
- 【转载】详细设计说明书模板
- Java遍历HashSet为什么输出是有序的?
- Spring系列(五)Spring的多线程
热门文章
- 不满俄欧“北溪-2”项目 美驻德大使威胁制裁德国企业
- 【转】Python-面向对象进阶
- 阿里云专家穆轩的《杭州九年程序员之“修炼”手册》
- 为什么又要造一个叫 Latke 的轮子
- 自动关机脚本2007-10-28 10:04@ECHO off
- 你犯了没?电脑最忌讳的18个小动作之三
- 关于买伞时直径的选择
- anaconda在ubuntu19.10下面安装python3.6和python2.7+更换国内源+一键切换配置
- SecureCRT退格键需要出现^H
- hexo的yelee主题修改左上角的博客名字颜色、修改代码模块中的引号内部的字体颜色