面向对象的asp编程之八---服务器端函数

原创 2004年08月04日 10:25:00

<Script language="vbscript" runat="server">
'****************************************************************
' Script Compont Object Model
' Design for Active Server Pages
' Copyright 2004  Version 2.0
' Made by 尹曙光
' All Rights Reserved.
' ****************************************************************
'
'               系统常用的一些公用函数
'
'*****************************************************************

'系统公用信息显示
'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>

java编程之美(一)

实践编程已经有足足6年多时间,也算是有一定经验,经常在工作中遇到各种让人不爽的代码编写方式,今天忍不住要来唠叨下。 为什么叫编程之美? 在我看来,代码有丑陋难看和赏心悦目两类,当然还有介于两者之...
  • tang9140
  • tang9140
  • 2015年11月01日 18:28
  • 1038

编程之美之扩展问题

参考链接:http://blog.csdn.net/wuyuegb2312/article/details/9896831 1.1 让CPU占用率曲线听你指挥 参考: http://blog.csd...
  • jerryzcx
  • jerryzcx
  • 2014年03月06日 23:33
  • 2520

[编程之美-10]面试当中的智力题(不定期更新)

[版权说明]  编程之美系列算法题集参考:  左程云 著《程序员代码面试指南IT名企算法与数据结构题目最优解》  July 著《编程之法面试和算法心得》  何海涛 著《剑指offer》  微软编程之美...
  • caicaiatnbu
  • caicaiatnbu
  • 2017年06月07日 23:44
  • 391

2014-04-19编程之美初赛题目及答案解析

第一题: 描述 一般来说,我们采用针孔相机模型,也就是认为它用到的是小孔成像原理。 在相机坐标系下,一般来说,我们用到的单位长度,不是“米”这样的国际单位,而是相邻像素的长度。而焦距...
  • kunlong0909
  • kunlong0909
  • 2014年04月19日 16:44
  • 4460

编程之美2.18—数组分割

题目: 有一个没有排序,元素个数为2N的正整数数组。要求把它分割为元素个数为N的两个数组,并使两个子数组的和最接近。 基本思想: 假设数组A[1..2N]所有元素的和是SUM。模仿动...
  • wtyvhreal
  • wtyvhreal
  • 2015年04月28日 11:37
  • 681

《编程之美》学习笔记——指挥CPU占用率

问题: 写一个程序,让用户来决定Windows任务管理器(Task Manager)的CPU占用率(单核)。有以下几种情况: 1.CPU占用率固定在50%,为一条直线 2.CPU的占用率为一条直线,具...
  • lyh03601
  • lyh03601
  • 2014年09月28日 15:07
  • 1168

linux CPU 画正弦曲线 编程之美

捣鼓了一下,画成了这个熊样子,算是蒙混过关了吧。 思想:大致原理是参考编程之美这本书上的,cpu的使用率是一段时间内cpu繁忙的平均值,所以可以通过一段时间内cpu繁忙的时间和空间的时间来控...
  • ragingCow
  • ragingCow
  • 2014年02月22日 12:02
  • 1042

编程之美4.4 扩展问题——判断点位于多边形内部

首先说明的是此多边形是任意多边形,包括凹多边形: 方法一:射线法 以此点为原点的向右水平射线如果相交于多边形的点的个数为奇数个,则此点在多边形内部,但需要注意几个trick: 有可能射线...
  • whosemario
  • whosemario
  • 2013年01月01日 09:52
  • 1114

编程之美2.21 只考加法的面试题

题目: 我们知道:1+2=3;              4+5=9;              2+3+4=9; 等式左边都是两个以上连续的自然数相加,那么是不是所有的整数都可以写成这种形式...
  • huahuahailang
  • huahuahailang
  • 2013年04月16日 15:26
  • 3478

《编程之美》1.6 饮料供货——贪心解法证明

向世界分享科学之美,让科学流行起来 问题描述:      在微软亚洲研究院上班,大家早上来的第一件事是干啥呢?查看邮件? No, 是去水房拿饮料:酸奶,豆浆,绿茶、王老吉、咖啡、可口可乐……(当然...
  • MathThinker
  • MathThinker
  • 2015年08月15日 11:37
  • 1189
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:面向对象的asp编程之八---服务器端函数
举报原因:
原因补充:

(最多只允许输入30个字)