面向对象的ASP编程之八-服务器端函数
类别: ASP教程
<Script language="vbscript" runat="server">
\' 系统常用的一些公用函数
\'
\'*****************************************************************
\'系统公用信息显示
\'strMsg:提示信息
\'msgType:信息提示类型
\'jumpUrl:页面眺转地址
\'strCopyRight:版权信息
Function FShowMsg(strMsg,msgType,jumpUrl,strCopyRight)
Response.Write "<Style>"&chr(13)
Response.Write "BODY { margin: 0px 0px 0px 0px;FONT-FAMILY: \'宋体\',\'Tahoma\', \'MS Shell Dlg\';color: #000000;font: 9pt;background-color:#f0f1eb;}"&chr(13)
Response.Write "A{font:normal 12px 宋体;COLOR: #336699; TEXT-DECORATION: none}"&chr(13)
Response.Write "TD{font-family:宋体; font-size: 12px; line-height: 15px;background-color:#f0f1eb;}"&chr(13)
Response.Write ".THead{ background-color: #336699;color:#ffffff;font-weight:bold;}"&chr(13)
Response.Write ".TFoot{ background-color: #336699;COLOR: #ffffff;}"&chr(13)
Response.Write "</style>"&chr(13)
Response.Write "<table height=\'90%\' width=\'100%\'> <tr>"&chr(13)
Response.Write "<td align=center> <table align=center cellpadding=0 cellspacing=0 bordercolor=\'#336699\' bgcolor=\'#336699\' style=\'width:90%\'>"
Response.Write "<tr align=center>"&chr(13)
Response.Write "<td width=\'100%\' height=20 colspan=2 bgcolor=\'#336699\' class=\'THead\' >系统提示信息</t> "&chr(13)
Response.Write "<tr><td width=\'100%\' colspan=2 align=\'center\' bgcolor=\'#FFFFFF\'><br> "&chr(13)
Response.Write strMsg
Select Case cint(msgType)
case 1
Response.Write "[<a href=\'javascript:window.close();\'>关闭窗口</a>]"
Case 2
Response.Write "[<a href=\'javascript:history.back(-1);\'>返回</a>]"
case 3
Response.Write "[<a href=\'javascript:history.back("&jumpUrl&");\'>返回</a>]"
case 4
Response.Write "<meta HTTP-EQUIV=REFRESH CONTENT=\'3; URL="&jumpUrl&"\'>,正在跳转..."
case 5
Response.Write "[<a href=\'"&jumpUrl&"\'>返回</a>]"
End Select
Response.Write "<br><br></td></tr><tr align=center><td width=\'100%\' height=20 colspan=2 class=\'TFoot\'>"&chr(13)
Response.Write strCopyRight
Response.Write "</td> </tr></table></td> </tr> </table>"&chr(13)
Response.End()
End Function
\'检查系统错误
\'errMsg:出错后的提示信息
Function FIfError(errMsg)
if Err.number>0 then
Response.Write "<br>"
Response.Write errMsg
Response.End
end if
End Function
\'显示系统错误信息
Function FSystemError()
if Err.number>0 then
Response.Write "<br>"
Response.Write "错误来源:"&Err.Source&"<br>"
Response.Write "错误代码:"&Err.number&"<br>"
Response.Write "错误说明:"&Err.Description &"<br>"
Response.End
end if
End Function
\'判断是不是从form提交过来的
Function FIsPostBack()
if ( UCase(trim(Request.ServerVariables("REQUEST_METHOD")))="POST") then
FIsPostBack=true
else
FIsPostBack=false
end if
End Function
function FGetUserIp()
FGetUserIp=Request.ServerVariables("remote_addr")
End Function
</Script>
<Script language="vbscript" runat="server">
\'****************************************************************
\' Script Compont Object Model
\' Design for Active Server Pages
\' Copyright 2004 Version 2.0
\' Made by 尹曙光
\' All Rights Reserved.
\' ****************************************************************
\'
\' 字符串处理函数
\'
\'*****************************************************************
\'取得一个长度为ilen的字符串,含字母和数字
Function FRandomStr(ilen)
dim c,strResult
ilen=cint(ilen)
for i=1 to ilen
Randomize
c=Int((74 * Rnd) + 48) \'c>48 and c<122
while (c>57 and c<65) or (c>90 and c<97)
Randomize
c=Int((74 * Rnd) + 48)
wend
strResult=strResult&cstr(chr(c))
next
FRandomStr=strResult
End Function
\'以下两个函数是用于检查身份证件号的
Function FCheckIdCard2(strIdCard)
dim iIdCard,strTmp
iIdCard=Len(strIdCard)
if (iIdCard=null or (not(iIdCard=15 or iIdCard=18))) then
FCheckIdCard2=false
exit function
end if
if iIdCard=15 then
strTmp=strIdCard
else
strTmp=mid(strIdCard,1,17)
end if
if IsNumeric(strTmp) then
FCheckIdCard2=true
else
FCheckIdCard2=false
exit function
end if
if iIdCard=18 then
strTmp=mid(strIdCard,18,1)
strTmp=ucase(strTmp)
if not (IsNumeric(strTmp) or strTmp="X") then
FCheckIdCard2=false
exit function
end if
end if
End Function
\'检查身份证号
\'参数:str:待检查的字符串
\'参数2:出生日期的年(4位)
\'参数3:出生日期的月
\'参数4:出生日期的日
Function FCheckIdCard(byval strIdCard,byval iYear,byval iMonth,byval iDay)
dim strBirthDay,strTmp1
if not FCheckIdCard2(strIdCard) then
FCheckIdCard=false
exit function
end if
if len(iYear)<>4 then
FCheckIdCard=false
exit function
end if
strBirthDay=cstr(iYear)+String(2-len(cstr(iMonth)),"0")+cstr(iMonth)+String(2-len(cstr(iDay)),"0")+cstr(iDay)
if len(strIdCard)=15 then
strTmp1=mid(strIdCard,7,6)
strBirthDay=mid(strBirthDay,3,6)
if strTmp1<>strBirthDay then
FCheckIdCard=false
exit function
end if
else
strTmp1=mid(strIdCard,7,8)
if strTmp1<>strBirthDay then
FCheckIdCard=false
exit function
end if
end if
FCheckIdCard=true
End Function
\'检查邮编
function FCheckPostCode(byval strCode)
if (len(trim(strCode))<>6) then
FCheckPostCode=false
exit function
else
FCheckPostCode=IsNumeric(strCode)
Exit Function
end if
End function
\'-----------------可逆加密----------------------------------------------
function encrypt(byval ecode)
Dim texts
dim i
for i=1 to len(ecode)
texts=texts & chr(asc(mid(ecode,i,1))+i)
next
encrypt = texts
end function
function decrypt(byval dcode)
dim texts
dim i
for i=1 to len(dcode)
texts=texts & chr(asc(mid(dcode,i,1))-i)
next
decrypt=texts
end function
\'----------------不可逆加密---------------------------------------------------
function mistake(byval preString)
Dim texts
Dim seed
Dim i,length
prestring = trim(preString)
length = len(preString)
seed = length
Randomize(length)
texts = ""
for i = 1 to length
seed = int(94*rnd(-asc(mid(preString,i,1))-seed*asc(right(prestring,1)))+32)
texts = texts & chr(seed) & chr(int(94*rnd(-seed)+32))
next
dim dist
dist=""
for i = 1 to len(texts)
if mid(texts,i,1)<>"\'" then
dist=dist+mid(texts,i,1)
end if
next
mistake = dist
end function
</Script>
<SCRIPT LANGUAGE=javascript RUNAT=Server>
// ************************************************************************
// Script Compont Object Model
// Design for Active Server Pages
//
// Copyright 2003 Version 1.0
// Made by 尹曙光
// ************************************************************************
function getArrayOrder(aMain,str){ //数组,给定其数值,求其在数组的下标
//aMain为数组,str为数组中的内容
var iMain=-1
if ((aMain.length==0)||(str.length==0)){
return iMain
}
for(var i=0;i<aMain.length;i++){
if (aMain[i]==str) {
iMain=i
break;
}
}
return iMain
}
function getArrayOrders(aMain,str){ //数组,给定其数值,求其在数组的下标
//该函数返回树组,依次列出,值在数组中的下标
//aMain为数组,str为数组中的内容
thisResult=new Array
thisResult[0]=-1
if ((aMain.length==0)||(str.length==0)){
return thisResult
}
var j=0;
for(var i=0;i<aMain.length;i++){
if (aMain[i]==str) {
thisResult[j++]=i
}
}
return thisResult
}
</SCRIPT>
<script language=jscript runat=server>
// ************************************************************************
// Script Compont Object Model
// Design for Active Server Pages
//
// Copyright 2003 Version 1.0
// Made by 尹曙光
// ************************************************************************
function saveRsToTxtFile(rs,filename)
{
//将RecordSet的内容保存进一个txt文件中,rs数据集,filename文件的绝对路径
var fs = Server.CreateObject("Scripting.FileSystemObject")
if (fs.FileExists(filename))
fs.DeleteFile(filename)
var txtFile = fs.CreateTextFile(filename)
var strLine=""
//写入字段名
var nFields = rs.Fields.Count;
for (var i=0; i < nFields; i++)
strLine+= rs(i).name+"t"
txtFile.WriteLine(strLine)
//写入内容
while (! rs.EOF ){
strLine=""
for (var i=0; i < nFields; i++)
strLine+= rs(i).value+"t"
txtFile.WriteLine(strLine)
rs.MoveNext()
}
txtFile= null
fs=null
}
</script>
\' 系统常用的一些公用函数
\'
\'*****************************************************************
\'系统公用信息显示
\'strMsg:提示信息
\'msgType:信息提示类型
\'jumpUrl:页面眺转地址
\'strCopyRight:版权信息
Function FShowMsg(strMsg,msgType,jumpUrl,strCopyRight)
Response.Write "<Style>"&chr(13)
Response.Write "BODY { margin: 0px 0px 0px 0px;FONT-FAMILY: \'宋体\',\'Tahoma\', \'MS Shell Dlg\';color: #000000;font: 9pt;background-color:#f0f1eb;}"&chr(13)
Response.Write "A{font:normal 12px 宋体;COLOR: #336699; TEXT-DECORATION: none}"&chr(13)
Response.Write "TD{font-family:宋体; font-size: 12px; line-height: 15px;background-color:#f0f1eb;}"&chr(13)
Response.Write ".THead{ background-color: #336699;color:#ffffff;font-weight:bold;}"&chr(13)
Response.Write ".TFoot{ background-color: #336699;COLOR: #ffffff;}"&chr(13)
Response.Write "</style>"&chr(13)
Response.Write "<table height=\'90%\' width=\'100%\'> <tr>"&chr(13)
Response.Write "<td align=center> <table align=center cellpadding=0 cellspacing=0 bordercolor=\'#336699\' bgcolor=\'#336699\' style=\'width:90%\'>"
Response.Write "<tr align=center>"&chr(13)
Response.Write "<td width=\'100%\' height=20 colspan=2 bgcolor=\'#336699\' class=\'THead\' >系统提示信息</t> "&chr(13)
Response.Write "<tr><td width=\'100%\' colspan=2 align=\'center\' bgcolor=\'#FFFFFF\'><br> "&chr(13)
Response.Write strMsg
Select Case cint(msgType)
case 1
Response.Write "[<a href=\'javascript:window.close();\'>关闭窗口</a>]"
Case 2
Response.Write "[<a href=\'javascript:history.back(-1);\'>返回</a>]"
case 3
Response.Write "[<a href=\'javascript:history.back("&jumpUrl&");\'>返回</a>]"
case 4
Response.Write "<meta HTTP-EQUIV=REFRESH CONTENT=\'3; URL="&jumpUrl&"\'>,正在跳转..."
case 5
Response.Write "[<a href=\'"&jumpUrl&"\'>返回</a>]"
End Select
Response.Write "<br><br></td></tr><tr align=center><td width=\'100%\' height=20 colspan=2 class=\'TFoot\'>"&chr(13)
Response.Write strCopyRight
Response.Write "</td> </tr></table></td> </tr> </table>"&chr(13)
Response.End()
End Function
\'检查系统错误
\'errMsg:出错后的提示信息
Function FIfError(errMsg)
if Err.number>0 then
Response.Write "<br>"
Response.Write errMsg
Response.End
end if
End Function
\'显示系统错误信息
Function FSystemError()
if Err.number>0 then
Response.Write "<br>"
Response.Write "错误来源:"&Err.Source&"<br>"
Response.Write "错误代码:"&Err.number&"<br>"
Response.Write "错误说明:"&Err.Description &"<br>"
Response.End
end if
End Function
\'判断是不是从form提交过来的
Function FIsPostBack()
if ( UCase(trim(Request.ServerVariables("REQUEST_METHOD")))="POST") then
FIsPostBack=true
else
FIsPostBack=false
end if
End Function
function FGetUserIp()
FGetUserIp=Request.ServerVariables("remote_addr")
End Function
</Script>
<Script language="vbscript" runat="server">
\'****************************************************************
\' Script Compont Object Model
\' Design for Active Server Pages
\' Copyright 2004 Version 2.0
\' Made by 尹曙光
\' All Rights Reserved.
\' ****************************************************************
\'
\' 字符串处理函数
\'
\'*****************************************************************
\'取得一个长度为ilen的字符串,含字母和数字
Function FRandomStr(ilen)
dim c,strResult
ilen=cint(ilen)
for i=1 to ilen
Randomize
c=Int((74 * Rnd) + 48) \'c>48 and c<122
while (c>57 and c<65) or (c>90 and c<97)
Randomize
c=Int((74 * Rnd) + 48)
wend
strResult=strResult&cstr(chr(c))
next
FRandomStr=strResult
End Function
\'以下两个函数是用于检查身份证件号的
Function FCheckIdCard2(strIdCard)
dim iIdCard,strTmp
iIdCard=Len(strIdCard)
if (iIdCard=null or (not(iIdCard=15 or iIdCard=18))) then
FCheckIdCard2=false
exit function
end if
if iIdCard=15 then
strTmp=strIdCard
else
strTmp=mid(strIdCard,1,17)
end if
if IsNumeric(strTmp) then
FCheckIdCard2=true
else
FCheckIdCard2=false
exit function
end if
if iIdCard=18 then
strTmp=mid(strIdCard,18,1)
strTmp=ucase(strTmp)
if not (IsNumeric(strTmp) or strTmp="X") then
FCheckIdCard2=false
exit function
end if
end if
End Function
\'检查身份证号
\'参数:str:待检查的字符串
\'参数2:出生日期的年(4位)
\'参数3:出生日期的月
\'参数4:出生日期的日
Function FCheckIdCard(byval strIdCard,byval iYear,byval iMonth,byval iDay)
dim strBirthDay,strTmp1
if not FCheckIdCard2(strIdCard) then
FCheckIdCard=false
exit function
end if
if len(iYear)<>4 then
FCheckIdCard=false
exit function
end if
strBirthDay=cstr(iYear)+String(2-len(cstr(iMonth)),"0")+cstr(iMonth)+String(2-len(cstr(iDay)),"0")+cstr(iDay)
if len(strIdCard)=15 then
strTmp1=mid(strIdCard,7,6)
strBirthDay=mid(strBirthDay,3,6)
if strTmp1<>strBirthDay then
FCheckIdCard=false
exit function
end if
else
strTmp1=mid(strIdCard,7,8)
if strTmp1<>strBirthDay then
FCheckIdCard=false
exit function
end if
end if
FCheckIdCard=true
End Function
\'检查邮编
function FCheckPostCode(byval strCode)
if (len(trim(strCode))<>6) then
FCheckPostCode=false
exit function
else
FCheckPostCode=IsNumeric(strCode)
Exit Function
end if
End function
\'-----------------可逆加密----------------------------------------------
function encrypt(byval ecode)
Dim texts
dim i
for i=1 to len(ecode)
texts=texts & chr(asc(mid(ecode,i,1))+i)
next
encrypt = texts
end function
function decrypt(byval dcode)
dim texts
dim i
for i=1 to len(dcode)
texts=texts & chr(asc(mid(dcode,i,1))-i)
next
decrypt=texts
end function
\'----------------不可逆加密---------------------------------------------------
function mistake(byval preString)
Dim texts
Dim seed
Dim i,length
prestring = trim(preString)
length = len(preString)
seed = length
Randomize(length)
texts = ""
for i = 1 to length
seed = int(94*rnd(-asc(mid(preString,i,1))-seed*asc(right(prestring,1)))+32)
texts = texts & chr(seed) & chr(int(94*rnd(-seed)+32))
next
dim dist
dist=""
for i = 1 to len(texts)
if mid(texts,i,1)<>"\'" then
dist=dist+mid(texts,i,1)
end if
next
mistake = dist
end function
</Script>
<SCRIPT LANGUAGE=javascript RUNAT=Server>
// ************************************************************************
// Script Compont Object Model
// Design for Active Server Pages
//
// Copyright 2003 Version 1.0
// Made by 尹曙光
// ************************************************************************
function getArrayOrder(aMain,str){ //数组,给定其数值,求其在数组的下标
//aMain为数组,str为数组中的内容
var iMain=-1
if ((aMain.length==0)||(str.length==0)){
return iMain
}
for(var i=0;i<aMain.length;i++){
if (aMain[i]==str) {
iMain=i
break;
}
}
return iMain
}
function getArrayOrders(aMain,str){ //数组,给定其数值,求其在数组的下标
//该函数返回树组,依次列出,值在数组中的下标
//aMain为数组,str为数组中的内容
thisResult=new Array
thisResult[0]=-1
if ((aMain.length==0)||(str.length==0)){
return thisResult
}
var j=0;
for(var i=0;i<aMain.length;i++){
if (aMain[i]==str) {
thisResult[j++]=i
}
}
return thisResult
}
</SCRIPT>
<script language=jscript runat=server>
// ************************************************************************
// Script Compont Object Model
// Design for Active Server Pages
//
// Copyright 2003 Version 1.0
// Made by 尹曙光
// ************************************************************************
function saveRsToTxtFile(rs,filename)
{
//将RecordSet的内容保存进一个txt文件中,rs数据集,filename文件的绝对路径
var fs = Server.CreateObject("Scripting.FileSystemObject")
if (fs.FileExists(filename))
fs.DeleteFile(filename)
var txtFile = fs.CreateTextFile(filename)
var strLine=""
//写入字段名
var nFields = rs.Fields.Count;
for (var i=0; i < nFields; i++)
strLine+= rs(i).name+"t"
txtFile.WriteLine(strLine)
//写入内容
while (! rs.EOF ){
strLine=""
for (var i=0; i < nFields; i++)
strLine+= rs(i).value+"t"
txtFile.WriteLine(strLine)
rs.MoveNext()
}
txtFile= null
fs=null
}
</script>
- 上一篇: 用ASP创建数据库
- 下一篇: 面向对象的ASP编程之九-客户器端函数
-= 资 源 教 程 =-
文 章 搜 索