function.asp
上传用户:qyswxdl
上传日期:2013-06-01
资源大小:1373k
文件大小:9k
源码类别:

家庭/个人应用

开发平台:

ASP/ASPX

  1. <%
  2. '*************************************************
  3. '函数名:gotTopic
  4. '作  用:截字符串,汉字一个算两个字符,英文算一个字符
  5. '参  数:str   ----原字符串
  6. '       strlen ----截取长度
  7. '返回值:截取后的字符串
  8. '*************************************************
  9. function gotTopic(str,strlen)
  10. if str="" then
  11. gotTopic=""
  12. exit function
  13. end if
  14. dim l,t,c, i
  15. str=replace(replace(replace(replace(str,"&nbsp;"," "),"&quot;",chr(34)),"&gt;",">"),"&lt;","<")
  16. l=len(str)
  17. t=0
  18. for i=1 to l
  19. c=Abs(Asc(Mid(str,i,1)))
  20. if c>255 then
  21. t=t+2
  22. else
  23. t=t+1
  24. end if
  25. if t>=strlen then
  26. gotTopic=left(str,i) & "…"
  27. exit for
  28. else
  29. gotTopic=str
  30. end if
  31. next
  32. gotTopic=replace(replace(replace(replace(gotTopic," ","&nbsp;"),chr(34),"&quot;"),">","&gt;"),"<","&lt;")
  33. end function
  34. '***********************************************
  35. '函数名:JoinChar
  36. '作  用:向地址中加入 ? 或 &
  37. '参  数:strUrl  ----网址
  38. '返回值:加了 ? 或 & 的网址
  39. '***********************************************
  40. function JoinChar(strUrl)
  41. if strUrl="" then
  42. JoinChar=""
  43. exit function
  44. end if
  45. if InStr(strUrl,"?")<len(strUrl) then 
  46. if InStr(strUrl,"?")>1 then
  47. if InStr(strUrl,"&")<len(strUrl) then 
  48. JoinChar=strUrl & "&"
  49. else
  50. JoinChar=strUrl
  51. end if
  52. else
  53. JoinChar=strUrl & "?"
  54. end if
  55. else
  56. JoinChar=strUrl
  57. end if
  58. end function
  59. '***********************************************
  60. '过程名:showpage
  61. '作  用:显示“上一页 下一页”等信息
  62. '参  数:sfilename  ----链接地址
  63. '       totalnumber ----总数量
  64. '       maxperpage  ----每页数量
  65. '       ShowTotal   ----是否显示总数量
  66. '       ShowAllPages ---是否用下拉列表显示所有页面以供跳转。有某些页面不能使用,否则会出现JS错误。
  67. '       strUnit     ----计数单位
  68. '***********************************************
  69. sub showpage(sfilename,totalnumber,maxperpage,ShowTotal,ShowAllPages,strUnit)
  70. dim n, i,strTemp,strUrl
  71. if totalnumber mod maxperpage=0 then
  72.      n= totalnumber  maxperpage
  73.    else
  74.      n= totalnumber  maxperpage+1
  75.    end if
  76.    strTemp= "<table align='center'><form name='showpages' method='Post' action='" & sfilename & "'><tr><td>"
  77. if ShowTotal=true then 
  78. strTemp=strTemp & "共 <b>" & totalnumber & "</b> " & strUnit & "&nbsp;&nbsp;"
  79. end if
  80. strUrl=JoinChar(sfilename)
  81.    if CurrentPage<2 then
  82.      strTemp=strTemp & "首页 上一页&nbsp;"
  83.    else
  84.      strTemp=strTemp & "<a href='" & strUrl & "page=1'>首页</a>&nbsp;"
  85.      strTemp=strTemp & "<a href='" & strUrl & "page=" & (CurrentPage-1) & "'>上一页</a>&nbsp;"
  86.    end if
  87.    if n-currentpage<1 then
  88.      strTemp=strTemp & "下一页 尾页"
  89.    else
  90.      strTemp=strTemp & "<a href='" & strUrl & "page=" & (CurrentPage+1) & "'>下一页</a>&nbsp;"
  91.      strTemp=strTemp & "<a href='" & strUrl & "page=" & n & "'>尾页</a>"
  92.    end if
  93.     strTemp=strTemp & "&nbsp;页次:<strong><font color=red>" & CurrentPage & "</font>/" & n & "</strong>页 "
  94.     strTemp=strTemp & "&nbsp;<b>" & maxperpage & "</b>" & strUnit & "/页"
  95. if ShowAllPages=True then
  96. strTemp=strTemp & "&nbsp;转到:<select name='page' size='1' onchange='javascript:submit()'>"   
  97.      for i = 1 to n   
  98.      strTemp=strTemp & "<option value='" & i & "'"
  99. if cint(CurrentPage)=cint(i) then strTemp=strTemp & " selected "
  100. strTemp=strTemp & ">第" & i & "页</option>"   
  101.     next
  102. strTemp=strTemp & "</select>"
  103. end if
  104. strTemp=strTemp & "</td></tr></form></table>"
  105. response.write strTemp
  106. end sub
  107. '********************************************
  108. '函数名:IsValidEmail
  109. '作  用:检查Email地址合法性
  110. '参  数:email ----要检查的Email地址
  111. '返回值:True  ----Email地址合法
  112. '       False ----Email地址不合法
  113. '********************************************
  114. function IsValidEmail(email)
  115. dim names, name, i, c
  116. IsValidEmail = true
  117. names = Split(email, "@")
  118. if UBound(names) <> 1 then
  119.    IsValidEmail = false
  120.    exit function
  121. end if
  122. for each name in names
  123. if Len(name) <= 0 then
  124. IsValidEmail = false
  125.      exit function
  126. end if
  127. for i = 1 to Len(name)
  128.     c = Lcase(Mid(name, i, 1))
  129. if InStr("abcdefghijklmnopqrstuvwxyz_-.", c) <= 0 and not IsNumeric(c) then
  130.        IsValidEmail = false
  131.        exit function
  132.      end if
  133.    next
  134.    if Left(name, 1) = "." or Right(name, 1) = "." then
  135.        IsValidEmail = false
  136.       exit function
  137.    end if
  138. next
  139. if InStr(names(1), ".") <= 0 then
  140. IsValidEmail = false
  141.    exit function
  142. end if
  143. i = Len(names(1)) - InStrRev(names(1), ".")
  144. if i <> 2 and i <> 3 then
  145.    IsValidEmail = false
  146.    exit function
  147. end if
  148. if InStr(email, "..") > 0 then
  149.    IsValidEmail = false
  150. end if
  151. end function
  152. '***************************************************
  153. '函数名:IsObjInstalled
  154. '作  用:检查组件是否已经安装
  155. '参  数:strClassString ----组件名
  156. '返回值:True  ----已经安装
  157. '       False ----没有安装
  158. '***************************************************
  159. Function IsObjInstalled(strClassString)
  160. On Error Resume Next
  161. IsObjInstalled = False
  162. Err = 0
  163. Dim xTestObj
  164. Set xTestObj = Server.CreateObject(strClassString)
  165. If 0 = Err Then IsObjInstalled = True
  166. Set xTestObj = Nothing
  167. Err = 0
  168. End Function
  169. '**************************************************
  170. '函数名:strLength
  171. '作  用:求字符串长度。汉字算两个字符,英文算一个字符。
  172. '参  数:str  ----要求长度的字符串
  173. '返回值:字符串长度
  174. '**************************************************
  175. function strLength(str)
  176. ON ERROR RESUME NEXT
  177. dim WINNT_CHINESE
  178. WINNT_CHINESE    = (len("中国")=2)
  179. if WINNT_CHINESE then
  180.         dim l,t,c
  181.         dim i
  182.         l=len(str)
  183.         t=l
  184.         for i=1 to l
  185.          c=asc(mid(str,i,1))
  186.             if c<0 then c=c+65536
  187.             if c>255 then
  188.                 t=t+1
  189.             end if
  190.         next
  191.         strLength=t
  192.     else 
  193.         strLength=len(str)
  194.     end if
  195.     if err.number<>0 then err.clear
  196. end function
  197. '****************************************************
  198. '函数名:SendMail
  199. '作  用:用Jmail组件发送邮件
  200. '参  数:ServerAddress  ----服务器地址
  201. '        AddRecipient  ----收信人地址
  202. '        Subject       ----主题
  203. '        Body          ----信件内容
  204. '        Sender        ----发信人地址
  205. '****************************************************
  206. function SendMail(MailServerAddress,AddRecipient,Subject,Body,Sender,MailFrom)
  207. on error resume next
  208. Dim JMail
  209. Set JMail=Server.CreateObject("JMail.SMTPMail")
  210. if err then
  211. SendMail= "<br><li>没有安装JMail组件</li>"
  212. err.clear
  213. exit function
  214. end if
  215. JMail.Logging=True
  216. JMail.Charset="gb2312"
  217. JMail.ContentType = "text/html"
  218. JMail.ServerAddress=MailServerAddress
  219. JMail.AddRecipient=AddRecipient
  220. JMail.Subject=Subject
  221. JMail.Body=MailBody
  222. JMail.Sender=Sender
  223. JMail.From = MailFrom
  224. JMail.Priority=1
  225. JMail.Execute 
  226. Set JMail=nothing 
  227. if err then 
  228. SendMail=err.description
  229. err.clear
  230. else
  231. SendMail="OK"
  232. end if
  233. end function
  234. '****************************************************
  235. '过程名:WriteErrMsg
  236. '作  用:显示错误提示信息
  237. '参  数:无
  238. '****************************************************
  239. sub WriteErrMsg()
  240. dim strErr
  241. strErr=strErr & "<html><head><title>错误信息</title><meta http-equiv='Content-Type' content='text/html; charset=gb2312'>" & vbcrlf
  242. strErr=strErr & "<link href='style.css' rel='stylesheet' type='text/css'></head><body>" & vbcrlf
  243. strErr=strErr & "<table cellpadding=2 cellspacing=2 border=0 width=400 class='border' align=center>" & vbcrlf
  244. strErr=strErr & "  <tr align='center'><td height='20' class='title'><strong>错误信息</strong></td></tr>" & vbcrlf
  245. strErr=strErr & "  <tr><td height='100' class='tdbg' valign='top'><b>产生错误的可能原因:</b><br>" & errmsg &"</td></tr>" & vbcrlf
  246. strErr=strErr & "  <tr align='center'><td class='title'><a href='javascript:history.go(-1)'>【返回】</a></td></tr>" & vbcrlf
  247. strErr=strErr & "</table>" & vbcrlf
  248. strErr=strErr & "</body></html>" & vbcrlf
  249. response.write strErr
  250. end sub
  251. '****************************************************
  252. '过程名:WriteSuccessMsg
  253. '作  用:显示成功提示信息
  254. '参  数:无
  255. '****************************************************
  256. sub WriteSuccessMsg(SuccessMsg)
  257. dim strSuccess
  258. strSuccess=strSuccess & "<html><head><title>成功信息</title><meta http-equiv='Content-Type' content='text/html; charset=gb2312'>" & vbcrlf
  259. strSuccess=strSuccess & "<link href='style.css' rel='stylesheet' type='text/css'></head><body>" & vbcrlf
  260. strSuccess=strSuccess & "<table cellpadding=2 cellspacing=2 border=0 width=400 class='border' align=center>" & vbcrlf
  261. strSuccess=strSuccess & "  <tr align='center'><td height='20' class='title'><strong>恭喜你!</strong></td></tr>" & vbcrlf
  262. strSuccess=strSuccess & "  <tr><td height='100' class='tdbg' valign='top'><br>" & SuccessMsg &"</td></tr>" & vbcrlf
  263. strSuccess=strSuccess & "  <tr align='center'><td class='title'><a href='javascript:history.go(-1)'>【返回】</a></td></tr>" & vbcrlf
  264. strSuccess=strSuccess & "</table>" & vbcrlf
  265. strSuccess=strSuccess & "</body></html>" & vbcrlf
  266. response.write strSuccess
  267. end sub
  268. %>