UtilClass.asp
上传用户:qfkgdy
上传日期:2020-06-18
资源大小:1888k
文件大小:33k
源码类别:

手机WAP编程

开发平台:

ASP/ASPX

  1. <%
  2. Class UtilClass
  3. Dim pageEmpty,page,pagenum,paramname,num,psize,wpage,tagNum,positionNum
  4. Dim position()
  5. Private Sub Class_Initialize
  6. pageEmpty=true
  7. tagNum=0
  8. positionNum=0
  9. End Sub
  10. '星期
  11. Function week(w)
  12. select case w
  13. case 1:week="日"
  14. case 2:week="一"
  15. case 3:week="二"
  16. case 4:week="三"
  17. case 5:week="四"
  18. case 6:week="五"
  19. case 7:week="六"
  20. end select
  21. End Function
  22. '防止二次提交
  23. Function token(ByVal t)
  24. Dim s
  25. select case t
  26. case 0:'播种
  27. s=tsn
  28. session("token")=s
  29. token="<postfield name=""token"" value="""&s&""" />"
  30. case 1:'取种
  31. s=request("token")
  32. if(s=session("token")) then
  33. token=true
  34. session("token")=""
  35. end if
  36. end select
  37. End Function
  38. '是否为有效IP
  39. Function ipValid()
  40. if(ipType(ip)=0) then
  41. ipValid=false
  42. else
  43. ipValid=true
  44. end if
  45. End Function
  46. '判断IP类型
  47. Function ipType(sip)
  48. Dim intIp
  49. intIp=ipInt(sip)
  50. '移动IP段(211.103.0.0-211.103.127.255 211.136.0.0-211.143.255.255 218.200.0.0-218.207.255.255 221.130.0.0-221.131.255.255)
  51. if(intIp>=3546742784 and intIp<=3546775551) or (intIp>=3548905472 and intIp<=3549429759) or (intIp>=3670540288 and intIp<=3671064575) or (intIp>=3716284416 and intIp<=3716415487) then
  52. ipType=1
  53. '联通IP段(61.240.0.0-61.243.255.255 61.245.0.0-61.245.127.255 220.192.0.0-220.207.255.255 211.90.0.0-211.97.255.255)
  54. elseif(intIp>=1039138816 and intIp<=1039400959) or (intIp>=1039466496 and intIp<=1039499263) or (intIp>=3703570432 and intIp<=3704619007) or (intIp>=3545890816 and intIp<=3546415103) then
  55. ipType=2
  56. '其它
  57. else
  58. ipType=0
  59. end if
  60. End Function
  61. 'IP转换为数字
  62. Function ipInt(sip)
  63. if not(isnull(sip) or sip="") then
  64. on error resume next
  65. dim strIp,arrIp
  66. strIp=cstr(trim(sip))
  67. arrIp=split(strIp,".")
  68. ipInt=arrIp(0)*256*256*256+arrIp(1)*256*256+arrIp(2)*256+arrIp(3)
  69. if(err.number>0) then
  70. ipInt=0
  71. end if
  72. else
  73. ipInt=0
  74. end if
  75. End Function
  76. '对应表
  77. Function hashmap(ByVal t,ByVal v)
  78. select case t
  79. case 1:'搜索(性别)
  80. select case v
  81. case 1:hashmap="男"
  82. case 2:hashmap="女"
  83. case 3:hashmap="不限"
  84. end select
  85. case 2:'搜索(年龄)
  86. select case v
  87. case 1:hashmap="18-26"
  88. case 2:hashmap="26-35"
  89. case 3:hashmap="18岁以下"
  90. case 4:hashmap="35岁以上"
  91. case 5:hashmap="不限"
  92. end select
  93. end select
  94. End Function
  95. '根据后缀判断是否为图片
  96. Function isImage(ByVal suffix)
  97. if(instr("gif jpg png jpeg ",suffix&" ")>0) then
  98. isImage=true
  99. end if
  100. End Function
  101. '解析自定义标签
  102. Public Function parseTag(str)
  103. parseTag=parsePictureTag(str)
  104. parseTag=parseSoftTag(str)
  105. parseTag=parseGameTag(str)
  106. parseTag=parseThemeTag(str)
  107. parseTag=parseThreadTag(str)
  108. End Function
  109. '解析图片标签
  110. Public Function parsePictureTag(str)
  111. Set rx=reg("(p:([^() trn}]+))", True, True)
  112. Set objMatches = rx.Execute(str)
  113. For Each objMatch In objMatches
  114.   str=replace(str,objMatch.Value,rx.replace(objMatch.Value,"<a href=""/picture/view.asp?id=$1"">免费高清下载此图片</a>"))
  115. Next
  116. Set rx = Nothing
  117. parsePictureTag=str
  118. End Function
  119. '解析软件标签
  120. Public Function parseSoftTag(str)
  121. Set rx=reg("(r:([^() trn}]+))", True, True)
  122. Set objMatches = rx.Execute(str)
  123. For Each objMatch In objMatches
  124.   str=replace(str,objMatch.Value,rx.replace(objMatch.Value,"<a href=""/soft/view.asp?id=$1"">免费下载此软件</a>"))
  125. Next
  126. Set rx = Nothing
  127. parseSoftTag=str
  128. End Function
  129. '解析游戏标签
  130. Public Function parseGameTag(str)
  131. Set rx=reg("(y:([^() trn}]+))", True, True)
  132. Set objMatches = rx.Execute(str)
  133. For Each objMatch In objMatches
  134.   str=replace(str,objMatch.Value,rx.replace(objMatch.Value,"<a href=""/game/view.asp?id=$1"">免费下载此游戏</a>"))
  135. Next
  136. Set rx = Nothing
  137. parseGameTag=str
  138. End Function
  139. '解析主题标签
  140. Public Function parseThemeTag(str)
  141. Set rx=reg("(z:([^() trn}]+))", True, True)
  142. Set objMatches = rx.Execute(str)
  143. For Each objMatch In objMatches
  144.   str=replace(str,objMatch.Value,rx.replace(objMatch.Value,"<a href=""/theme/view.asp?id=$1"">免费下载此主题</a>"))
  145. Next
  146. Set rx = Nothing
  147. parseThemeTag=str
  148. End Function
  149. '解析帖子标签
  150. Public Function parseThreadTag(str)
  151. Set rx=reg("(t:([^() trn}]+))", True, True)
  152. Set objMatches = rx.Execute(str)
  153. For Each objMatch In objMatches
  154.   str=replace(str,objMatch.Value,rx.replace(objMatch.Value,"<a href=""/bbs/thread.asp?tid=$1"">进入查看此贴</a>"))
  155. Next
  156. Set rx = Nothing
  157. parseThreadTag=str
  158. End Function
  159. '网址转换(兼容FLASH escape)
  160. Function URLEncode(ByVal u)
  161. URLEncode=replace(server.URLEncode(u),"+","%20")
  162. End Function
  163. '阿拉伯数字转中文数字
  164. Function corder(ByVal n)
  165. dim i,j,k,strlen,retval,x,y,z,str
  166. z=array("零","一","二","三","四","五","六","七","八","九")
  167. y=array("","十","百","千")
  168. x=Array("","万","亿","万万亿")
  169. strlen=len(n)
  170. str1=n
  171. for i=1 to strlen
  172. j=mid(str1,i,1)
  173. retval=retval&z(j)
  174. if(j>0) then retval=retval&y((strlen-i) mod 4)
  175. retval=replace(retval,z(0)&z(0),z(0))
  176. if((strlen-i) mod 4)=0 and right(retval,1)=z(0) then retval=left(retval,len(retval)-1)
  177. if((strlen-i) mod 4)=0 then retval=retval&x(int((strlen-i)/4))
  178. next
  179. if(left(retval,2)="一十") then retval="十" & right(retval,len(retval)-2)
  180. corder=retval
  181. End Function
  182. '帖子类型
  183. Function thread(is_top,is_comment,is_elite,is_attach,is_lock)
  184. if(is_top=1 or is_top=2) then thread=thread&"[顶]"
  185. if(is_comment=1) then thread=thread&"[荐]"
  186. if(is_elite=1) then thread=thread&"[精]"
  187. if(is_attach>0) then thread=thread&"[附]"
  188. if(is_lock=1) then thread=thread&"[锁]"
  189. End Function
  190. '是否
  191. Function whether(w)
  192. if(w=1) then
  193. whether="是"
  194. else
  195. whether="否"
  196. end if
  197. End Function
  198. '检查颜色代码
  199. Function color(c)
  200. dim regex
  201. set regex=new RegExp
  202. regex.pattern="^#?[0-9|a-f|A-F]{6}$"
  203. color=regex.test(c)
  204. End Function
  205. '检查手机号码
  206. Function mobile(m)
  207. dim regex
  208. set regex=new RegExp
  209. regex.pattern="^(130|131|132|133|134|135|136|137|138|139|159|158|156)d{8}$"
  210. mobile=regex.test(m)
  211. End Function
  212. '条件
  213. Function con(ByVal c1,c2,c3)
  214. if(c1) then
  215. con=c2
  216. else
  217. con=c3
  218. end if
  219. End Function
  220. '未知
  221. Function unknown(ByVal t1,t2,t3)
  222. if(t1=t2) then
  223. unknown=t3
  224. else
  225. unknown=t1
  226. end if
  227. End Function
  228. '血型
  229. Function stature(s)
  230. select case s
  231. case 1:stature="160-165cm"
  232. case 2:stature="165-170cm"
  233. case 3:stature="170-175cm"
  234. case 4:stature="175-180cm"
  235. case 5:stature="160cm以下"
  236. case 6:stature="180cm以上"
  237. end select
  238. End Function
  239. '血型
  240. Function blood(b)
  241. select case b
  242. case 1:blood="A"
  243. case 2:blood="B"
  244. case 3:blood="AB"
  245. case 4:blood="O"
  246. case else:blood="未知"
  247. end select
  248. End Function
  249. '星座
  250. Function constellation(c)
  251. select case c
  252. case 1:constellation="水瓶座"
  253. case 2:constellation="双鱼座"
  254. case 3:constellation="白羊座"
  255. case 4:constellation="金牛座"
  256. case 5:constellation="双子座"
  257. case 6:constellation="巨蟹座"
  258. case 7:constellation="狮子座"
  259. case 8:constellation="处女座"
  260. case 9:constellation="天秤座"
  261. case 10:constellation="天蝎座"
  262. case 11:constellation="射手座"
  263. case 12:constellation="魔蝎座"
  264. case else:constellation="未知"
  265. end select
  266. End Function
  267. '生肖
  268. Function zodiac(z)
  269. select case z
  270. case 1:zodiac="鼠"
  271. case 2:zodiac="牛"
  272. case 3:zodiac="虎"
  273. case 4:zodiac="兔"
  274. case 5:zodiac="龙"
  275. case 6:zodiac="蛇"
  276. case 7:zodiac="马"
  277. case 8:zodiac="羊"
  278. case 9:zodiac="猴"
  279. case 10:zodiac="鸡"
  280. case 11:zodiac="狗"
  281. case 12:zodiac="猪"
  282. case else:zodiac="未知"
  283. end select
  284. End Function
  285. '学历
  286. Function education(e)
  287. select case e
  288. case 1:education="中学"
  289. case 2:education="大专"
  290. case 3:education="大学本科"
  291. case 4:education="双学士"
  292. case 5:education="硕士"
  293. case 6:education="博士"
  294. case else:education="未知"
  295. end select
  296. End Function
  297. '婚姻
  298. Function marriage(m)
  299. select case m
  300. case 1:marriage="未婚"
  301. case 2:marriage="已婚"
  302. case else:marriage="未知"
  303. end select
  304. End Function
  305. '资源名称
  306. Function resource(ByVal t,ByVal gid)
  307. if(t=0) then'中文
  308. select case gid
  309. case 1:resource="图片"
  310. case 2:resource="软件"
  311. case 3:resource="游戏"
  312. case 4:resource="主题"
  313. case 10:resource="贴子"
  314. end select
  315. else'英文
  316. select case gid
  317. case 1:resource="picture"
  318. case 2:resource="soft"
  319. case 3:resource="game"
  320. case 4:resource="theme"
  321. case 10:resource="thread"
  322. end select
  323. end if
  324. End Function
  325. '显示文件后缀
  326. Function ftype(f)
  327. ftype=split(f,".")(1)
  328. End Function
  329. '显示文件大小
  330. Function fsize(f)
  331. fsize=clng(f/1024)&"K"
  332. End Function
  333. '格式化生日
  334. Function birthday(b)
  335. if(b="") then
  336. birthday="1900-01-01"
  337. else
  338. birthday=left(b,4)&"-"&mid(b,5,2)&"-"&mid(b,7,2)
  339. end if
  340. End Function
  341. '检查生日格式
  342. Function isBirthday(b)
  343. if(isDate(birthday(b))) then
  344. isBirthday=true
  345. end if
  346. End Function
  347. '地区
  348. Function area(a)
  349. a=trim(a)
  350. if(a="" or a=",") then
  351. area="地区不详"
  352. else
  353. area=a
  354. end if
  355. End Function
  356. '年龄
  357. Function age(a)
  358. if(isDate(a)) then
  359. if(a="1900-1-1") then
  360. age="年龄不详"
  361. else
  362. age=dateDiff("yyyy",a,date())&"岁"
  363. end if
  364. else
  365. age="年龄不详"
  366. end if
  367. End Function
  368. '性别
  369. Function sex(s)
  370. select case s
  371. case 1:sex="男"
  372. case 2:sex="女"
  373. case else:sex="未知"
  374. end select
  375. End Function
  376. 'WAP TAB
  377. Sub tab(a,b,c,d,e)
  378. if(a=b) then
  379. response.Write(c)
  380. else
  381. response.Write("<a href="""&d&b&""">"&c&"</a>")
  382. end if
  383. response.Write(e)
  384. End Sub
  385. '格式化后日期
  386. Function d()
  387.    d=convertDate(date,0)
  388. End Function
  389. '格式化后日期时间
  390. Function dt()
  391.    dt=convertDateTime(date)
  392. End Function
  393. '将一个一位的数字前面加零
  394. Function fillZero(str)
  395.    ttt=str
  396.    if len(str)=1 then
  397.   ttt="0" & str
  398.    end if
  399.    fillZero=ttt
  400. End Function
  401. '转化日期,将 一位补上零  2003-1-2  -->  2003-01-02
  402. Function convertDate(tDate,m)
  403.    ttt=tDate
  404.    if isdate(tDate) then
  405.   ttt=year(tDate) & "-" & fillZero(month(tDate))
  406.   if(m<>1) then
  407.    ttt=ttt & "-" & fillZero(day(tDate))
  408.   end if
  409.    end if
  410.    convertDate=ttt
  411. End Function
  412. '输入一个日期时间串,转换成年四位,其他两位的新的日期时间串
  413. Function convertDateTime(tDateTime)
  414.    ttt=tDateTime
  415.    if isdate(tDateTime) then
  416.   ttt=year(tDateTime) & "-" & fillZero(month(tDateTime)) & "-" & fillZero(day(tDateTime)) & " " & fillZero(cstr(hour(tDateTime))) & ":" & fillZero(cstr(minute(tDateTime))) & ":" & fillZero(cstr(second(tDateTime)))
  417.    end if
  418.    convertDateTime=ttt
  419. End Function
  420. '格式化RS
  421. Sub list(ByVal rs,cols,str,style,row_num,splitter,prefix,suffix)
  422. Dim li
  423. li=0
  424. Dim arrCols,url,title
  425. Dim link,arrLink
  426. if not rs.eof then
  427. if(prefix<>"") then
  428. response.Write(prefix&"<br/>")
  429. end if
  430. do while not rs.eof
  431. li=li+1
  432. link=str
  433. arrCols=split(cols,",")
  434. for i=0 to ubound(arrCols)
  435. link=replace(link,"{"&arrCols(i)&"}",rs(arrCols(i)))
  436. next
  437. arrLink=split(link,"|")
  438. if(ubound(arrLink)>1) then
  439. response.Write(arrLink(2))
  440. end if
  441. response.Write("<a href="""&arrLink(0)&""">"&arrLink(1)&"</a>")
  442. if(style=1) then
  443. response.Write("<br/>")
  444. else
  445. if((li mod row_num)=0) then
  446. response.Write("<br/>")
  447. else
  448. if(li<>rs.recordcount) then response.Write(splitter)
  449. end if
  450. end if
  451. rs.movenext
  452. loop
  453. if((li mod row_num)<>0) then response.Write("<br/>")
  454. if(suffix<>"") then
  455. response.Write(suffix&"<br/>")
  456. end if
  457. end if
  458. rs.close
  459. if(style=1) then
  460. if((li mod row_num)<>0) then
  461. response.Write("<br/>")
  462. end if
  463. end if
  464. End Sub
  465. '输出排序样式
  466. Function oc(ByVal action,column)
  467. if(action.by=column) then
  468. oc=action.order
  469. end if
  470. End Function
  471. '格式化网址
  472. Function formatUrl(ByVal url,ftype)
  473. url=trim(url)
  474. select case ftype
  475. case 0:
  476. url=replace(url,"http://","")
  477. formatUrl=url
  478. case 1:
  479. if(instr(url,"http://")>0) then
  480. formatUrl=url
  481. else
  482. formatUrl="http://"&url
  483. end if
  484. end select
  485. formatUrl=replace(formatUrl,"&amp;","&")
  486. formatUrl=replace(formatUrl,"&","&amp;")
  487. End Function
  488. '判断用户权限
  489. Function inDomains(ByVal domains,sid)
  490. if(instr(","&domains&",",","&sid&",")>0) then
  491. inDomains=true
  492. else
  493. inDomains=false
  494. end if
  495. End Function
  496. '正则
  497. Function reg(spattern,bglobal,bignorecase)
  498.   Dim rx
  499.   Set rx=New RegExp
  500.   rx.Pattern=spattern
  501.   rx.Global=bglobal
  502.   rx.IgnoreCase=bignorecase
  503.   Set reg=rx
  504.   Set rx=nothing
  505. End Function
  506. '手机号码中间3位显示*
  507. Function safeMobile(ByVal mobile)
  508. safeMobile=left(mobile,3)&"***"&right(mobile,5)
  509. End Function
  510. '直接输出下载文件
  511. Sub download(ByVal mime,filename,output)
  512. Call response.addHeader("content-type",mime)
  513. Call response.addHeader("Content-Disposition","attachment;filename="&filename)
  514. response.write(output)
  515. response.end()
  516. End Sub
  517. '数组是否存在项目中
  518. Function arrInstr(ByVal arr,value)
  519. if(isArray(arr)) then
  520. for i=0 to ubound(arr)
  521. if(instr(trim(value),arr(i))>0) then
  522. arrInstr=true
  523. exit function
  524. end if
  525. next
  526. end if
  527. End function
  528. '项目是否存在数组中
  529. Function inArray(ByVal arr,value)
  530. if(isArray(arr)) then
  531. for i=0 to ubound(arr)
  532. if(trim(arr(i))=trim(value)) then
  533. inArray=true
  534. exit function
  535. end if
  536. next
  537. end if
  538. End function
  539. 'ceil
  540. Function ceil(ByVal value)
  541. If(value>0) then
  542. value=FIX(value)+Sgn(value-FIX(value))
  543. Else
  544. value=FIX(value)
  545. End If
  546. ceil=value
  547. End function
  548. '验证EMAIL是否合法
  549. Function checkEmail(ByVal email)
  550. Dim re,pat
  551. Set re=New RegExp
  552. pat="^[w-.]{1,}@([da-zA-Z-]{1,}.){1,}[da-zA-Z-]{2,3}$" 
  553. re.pattern=pat
  554. re.ignoreCase=true
  555. checkEmail=re.Test(email)
  556. End Function
  557. '验证IMEI是否合法
  558. Function checkImei(ByVal imei)
  559. Dim re,pat
  560. Set re=New RegExp
  561. pat="^3d{14}$" 
  562. re.pattern=pat
  563. re.ignoreCase=true
  564. checkImei=re.Test(imei)
  565. End Function
  566. '判断checkbox中第一项值是否为key
  567. Function singleCheck(ByVal str,key)
  568. singleCheck=false
  569. Dim checkArr
  570. checkArr=split(str,",")
  571. if(ubound(checkArr)>=0) then
  572. if(checkArr(0)=key) then
  573. singleCheck=true
  574. end if
  575. end if
  576. End Function
  577. '循环打印字符串
  578. Function loopStr(ByVal loops,str)
  579. loopStr=""
  580. for i=1 to loops
  581. loopStr=loopStr&str
  582. next
  583. End Function
  584. '获取访问来源(支持REFERER与URL)
  585. 'urlParam为url时为相对地址
  586. Function getRefer(ByVal urlParam)
  587. Dim reUrl
  588. reUrl=request.ServerVariables("HTTP_REFERER")
  589. urlParam=trim(urlParam)
  590. if(urlParam<>"") then
  591. Dim urlValue
  592. urlValue=trim(request(urlParam))
  593. if(urlValue<>"") then
  594. reUrl=urlValue
  595. end if
  596. end if
  597. getRefer=reUrl
  598. End Function
  599. '清理所有COOKIE记录
  600. Function clearCookies()
  601. for each cookie in request.Cookies
  602. if not (request.Cookies(cookie).hasKeys) then
  603. response.Cookies(cookie)=empty
  604. else
  605. for each subkey in request.Cookies(cookie)
  606. response.Cookies(cookie)(subkey)=empty
  607. next
  608. end if
  609. next
  610. End Function
  611. '获取重写URL
  612. Function getRewriteUrl(inputStr,patStr)
  613. Dim regex,matches,match
  614. Set regex=new RegExp
  615. regex.ignoreCase=true
  616. regex.global=true
  617. regex.pattern=patStr
  618. Set matches=regex.execute(inputStr)
  619. Dim mValue,pName,pValue
  620. for each match in matches
  621. mValue=match.value
  622. pName=replace(mValue,"(","")
  623. pName=replace(pName,")","")
  624. pValue=request.QueryString(pName)
  625. inputStr=replace(inputStr,mValue,pValue)
  626. next
  627. Set match=nothing
  628. Set matches=nothing
  629. Set regex=nothing
  630. getRewriteUrl=inputStr
  631. End Function
  632. '获取textarea内容
  633. Function getTextarea(ByVal content)
  634. if(not isnull(content)) then
  635. getTextarea=replace(content,vbcrlf,"<br>")
  636. getTextarea=replace(getTextarea," ","&nbsp;")
  637. end if
  638. End Function
  639. '将textarea内容按行转换为数组
  640. Function getTextareaArr(ByVal content)
  641. if(not isnull(content)) then
  642. getTextareaArr=split(content,vbcrlf)
  643. end if
  644. End Function
  645. '将数组转换为textarea
  646. Function setTextarea(ByVal arr)
  647. Dim asize
  648. asize=ubound(arr)-1
  649. for i=0 to asize
  650. setTextarea=setTextarea&arr(i)
  651. if(i<>asize) then
  652. setTextarea=setTextarea&vbcrlf
  653. end if
  654. next
  655. End Function
  656. '获取客户端IP地址
  657. Function ip()
  658. ip=request.ServerVariables("REMOTE_ADDR")
  659. End Function
  660. '密码加密
  661. Function password(ByVal psw)
  662. psw=psw&SECURITY_ENCRYPT_KEY
  663. password=md5(psw,32)
  664. End Function
  665. '时间字符串
  666. Function tsn()
  667. tsn=year(date())&month(date())&day(date())&hour(now())&minute(now())&second(now())
  668. End Function
  669. '生成全局唯一识别码
  670. Function sn(ByVal v)
  671. randomize
  672. v=int(rnd*10000000)&tsn&ip&v
  673. sn=md5(v,16)
  674. sn=ucase(sn)
  675. End Function
  676. '生成随机数
  677. Function rndc()
  678. randomize
  679. vcc=int(rnd*10000000)
  680. rndc=md5(vcc,16)
  681. End Function
  682. '获取日期数组
  683. Function getDateArr(ByVal datetime)
  684. Dim dateArr(3)
  685. dateArr(0)=year(datetime)
  686. dateArr(1)=month(datetime)
  687. dateArr(2)=day(datetime)
  688. dateArr(3)=getDate(datetime)
  689. getDateArr=dateArr
  690. End Function
  691. '昨天日期
  692. Function getYesterday()
  693. Dim daTemp
  694. daTemp=getDateArr(datetime)
  695. getYesterday=daTemp(0)&"-"&daTemp(1)&"-"&dateArr(2)
  696. End Function
  697. '获取日期
  698. Function getDate(ByVal datetime)
  699. getDate=split(datetime," ")(0)
  700. End Function
  701. '对比时间
  702. Function compareDate(ByVal datetime1,datetime2)
  703. if(getDate(datetime1)=getDate(datetime2)) then
  704. compareDate=true
  705. else
  706. compareDate=false
  707. end if
  708. End Function
  709. '产生随机表单名
  710. Function formId(ByVal input)
  711. Randomize
  712. formId=input&int(rnd*10000000)&tsn
  713. End Function
  714. '调用翻页(普通)
  715. Function pager(ByVal rs,pagesize,pn)
  716. paramname=pn
  717. if(paramname="") then
  718. paramname=PAGER_PARAM
  719. end if
  720. pagerTemp=0
  721. If rs.recordcount>0 Then
  722. pageEmpty=false
  723. rs.pagesize = pagesize
  724. psize = pagesize
  725. num=rs.recordcount
  726. pagenum=rs.pagecount
  727. page=request(paramname) 
  728. If page <> "" then
  729. if not isnumeric(page) then
  730. page=0
  731. end if
  732. page = clng(page)
  733. if err.number <> 0 then
  734. err.clear
  735. page = 1
  736. end if
  737. if page < 1 then
  738. page = 1
  739. end if
  740. else
  741. page = 1
  742. End if
  743. if page*rs.pagesize > num and not((page-1)*rs.pagesize < num)then
  744. page=1
  745. end if
  746. rs.absolutepage = page
  747. if page<>pagenum then
  748. lablenum=rs.pagesize
  749. else
  750. lablenum=num-(page-1)*rs.pagesize
  751. end If
  752. pagerTemp=lablenum
  753. End If
  754. pager=pagerTemp
  755. End Function
  756. '调用翻页(对象)
  757. Function pagerObject(ByVal list,pagesize,pn)
  758. Dim nums(2)
  759. psize=pagesize
  760. paramname=pn
  761. if(paramname="") then
  762. paramname=PAGER_PARAM
  763. end if
  764. num=ubound(list)
  765. pagenum=ceil(num/psize)
  766. if(num>0) then
  767. pageEmpty=false
  768. page=request(paramname)
  769. page=limitLng(page,1,"")
  770. if(page>pagenum) then
  771. page=pagenum
  772. end if
  773. nums(0)=(page-1)*psize
  774. if(page<>pagenum) then
  775. nums(1)=page*psize
  776. else
  777. nums(1)=num
  778. end if
  779. end if
  780. pagerObject=nums
  781. End Function
  782. '调用翻页(存储过程)
  783. Sub pagerCommand(ByVal rc,pc,pn)
  784. paramname=pn
  785. if(paramname="") then
  786. paramname=PAGER_PARAM
  787. end if
  788. num=rc
  789. pagenum=pc
  790. if(num>0) then
  791. pageEmpty=false
  792. page=request(paramname)
  793. page=limitLng(page,1,"")
  794. if(page>pagenum) then
  795. page=pagenum
  796. end if
  797. end if
  798. End Sub
  799. '调用翻页(文字)
  800. Function pagerText(ByVal text,wsize,pn)
  801. paramname=pn
  802. if(paramname="") then
  803. paramname=PAGER_PARAM
  804. end if
  805. Dim wp,sw,ew,wlen
  806. page=limitInt(request(paramname),1,"")
  807. num=len(text)
  808. if(num>0) then
  809. pageEmpty=false
  810. wlen=len(text)
  811. pagenum=ceil(wlen/wsize)
  812. if (page=1) then
  813. sw=1
  814. else
  815. sw=(page-1)*wsize
  816. end if
  817. ew=wsize
  818. pagerText=mid(text,sw,ew)
  819. end if
  820. End Function
  821. '显示翻页
  822. Function paginate(ByVal ptype,url,rewrite)
  823. if (not pageEmpty) and (pagenum>1) Then
  824. Dim ut,ul,up,preUrl,sufUrl
  825. if(rewrite) then
  826. ut=PAGER_PARAM_COMMAND
  827. ul=len(url)
  828. up=instr(url,ut)
  829. preUrl=left(url,up-1)
  830. sufUrl=right(url,ul-up-len(ut)+1)
  831. else
  832. preUrl=getPage&"?"&paramname&"="
  833. if(url<>"") then
  834. if(ptype=0 or ptype=2 or ptype=3) then
  835. url="&amp;"&url
  836. else
  837. url="&"&url
  838. end if
  839. end if
  840. sufUrl=url
  841. end if
  842. Select Case ptype
  843. Case 0: 'WML
  844. if page<>pagenum then
  845. paginate=paginate&"<a href="""&preUrl&(page+1)&sufUrl&""">下页</a> "
  846. end if
  847. if page<>1 then
  848. paginate=paginate&"<a href="""&preUrl&(page-1)&sufUrl&""">上页</a> "
  849. end if
  850. if page<>1 then
  851. paginate=paginate&"<a href="""&preUrl&"1"&sufUrl&""">首页</a> "
  852. end if
  853. if page<>pagenum then
  854. paginate=paginate&"<a href="""&preUrl&pagenum&sufUrl&""">末页</a> "
  855. end if
  856. paginate=paginate&" "&num&"条"
  857. if pagenum<>1 then
  858. paginate=paginate&"<br/>"
  859. end if
  860. paginate=paginate&page&"/"&pagenum&"页"
  861. Dim inputName
  862. inputName=formId(paramname)
  863. paginate=paginate&" 至<input name="""&inputName&""" format=""*N"" value="""" size=""3"" emptyok=""true"" />页 <anchor title=""跳转"">跳转<go href="""&getUrl(paramname)&""" method=""get""><postfield name="""&paramname&""" value=""$("&inputName&")"" /></go></anchor><br/>"
  864. Case 1: 'HTML
  865. if page<>pagenum then
  866. paginate=paginate&"<div class=""button"" onMouseOver=""this.className='button button-hover'"" onMouseOut=""this.className='button'"" onclick=""go('"&preUrl&(page+1)&sufUrl&"');"" style=""float:right"" title=""下一页""><span class=""left""></span><span class=""center""><span class=""icon next""></span></span><span class=""right""></span></div>"
  867. end if
  868. paginate=paginate&"<div style=""float:right; padding-left:4px; padding-right:4px;""><select onchange=""go('"&preUrl&"'+this.value+'"&sufUrl&"');"">"
  869. for i=1 to pagenum
  870. paginate=paginate&"<option value="""&i&""" "
  871. if(i=page) then
  872. paginate=paginate&"selected=""selected"""
  873. end if
  874. paginate=paginate&"> "&i&" / "&pagenum&" </option>"
  875. next
  876. paginate=paginate&"</select></div>"
  877. if page<>1 then
  878. paginate=paginate&"<div class=""button"" onMouseOver=""this.className='button button-hover'"" onMouseOut=""this.className='button'"" onclick=""go('"&preUrl&(page-1)&sufUrl&"');"" style=""float:right"" title=""上一页""><span class=""left""></span><span class=""center""><span class=""icon prev""></span></span><span class=""right""></span></div>"
  879. end if
  880. Case 2: '内容翻页
  881. if page<>pagenum then
  882. paginate=paginate&"<a href="""&preUrl&(page+1)&sufUrl&""">下页("&(page+1)&"/"&pagenum&")</a> "
  883. end if
  884. if page<>1 then
  885. paginate=paginate&"<a href="""&preUrl&(page-1)&sufUrl&""">上页"
  886. if(page=pagenum) then
  887. paginate=paginate&"("&(page-1)&"/"&pagenum&")"
  888. end if
  889. paginate=paginate&"</a> "
  890. end if
  891. if page<>1 then
  892. paginate=paginate&"<a href="""&preUrl&"1"&sufUrl&""">首</a> "
  893. end if
  894. if page<>pagenum then
  895. paginate=paginate&"<a href="""&preUrl&pagenum&sufUrl&""">末</a> "
  896. end if
  897. if pagenum<>1 then paginate=paginate&"<br/>"
  898. Case 3: '组图翻页
  899. if page<>pagenum then
  900. paginate=paginate&"<a href="""&preUrl&(page+1)&sufUrl&""">下张("&(page+1)&"/"&pagenum&")</a> "
  901. end if
  902. if page<>1 then
  903. paginate=paginate&"<a href="""&preUrl&(page-1)&sufUrl&""">上张"
  904. if(page=pagenum) then
  905. paginate=paginate&"("&(page-1)&"/"&pagenum&")"
  906. end if
  907. paginate=paginate&"</a> "
  908. end if
  909. if page<>1 then
  910. paginate=paginate&"<a href="""&preUrl&"1"&sufUrl&""">首</a> "
  911. end if
  912. if page<>pagenum then
  913. paginate=paginate&"<a href="""&preUrl&pagenum&sufUrl&""">末</a> "
  914. end if
  915. if pagenum<>1 then
  916. paginate=paginate&" 共"&num&"张"
  917. paginate=paginate&"<br/>"
  918. end if
  919. End Select
  920. End if
  921. End Function
  922. '字符串字节长度
  923. Function length(ByVal str)
  924. dim lenStr
  925. lenStr=0
  926. lenTemp=len(str)
  927. dim strTemp
  928. for i=1 to lenTemp
  929. strTemp=asc(mid(str,i,1))
  930. if strTemp>255 or strTemp<=0 then
  931. lenStr=lenStr+2
  932. else
  933. lenStr=lenStr+1
  934. end if
  935. next
  936. length=lenStr
  937. End Function
  938. '判断是否为int
  939. Function isInt(ByVal str)
  940. if not isnumeric(str) or len(str)>5 then
  941. isInt=false
  942. exit function
  943. elseif len(str)<5 then
  944. isInt=true
  945. exit function
  946. end if
  947. if cint(left(str,4))>3276 then
  948. isInt=false
  949. exit function
  950. elseif cint(left(str,4))=3276 and cint(right(str,1))>7 then
  951. isInt=false
  952. exit function
  953. else
  954. isInt=true
  955. exit function
  956. end if
  957. End Function
  958. '判断是否为lng
  959. Function isLng(ByVal str)
  960. if not isnumeric(str) or len(str)>10 then
  961. isLng=false
  962. exit function
  963. elseif len(str)<10 then
  964. isLng=true
  965. exit function
  966. end if
  967. if clng(left(str,9))>214748364 then
  968. isLng=false
  969. exit function
  970. elseif clng(left(str,9))=214748364 and clng(right(str,1))>7 then
  971. isLng=false
  972. exit function
  973. else
  974. isLng=true
  975. exit function
  976. end if
  977. End Function
  978. '限制int范围
  979. Function limitInt(ByVal num,min,max)
  980. if(isInt(num)) then
  981. num=cint(num)
  982. else
  983. num=0
  984. end if
  985. if(min="") then
  986. min=-32768
  987. end if
  988. if(max="") then
  989. max=32767
  990. end if
  991. if(num<min) then
  992. limitInt=min
  993. elseif(num>max) then
  994. limitInt=max
  995. else
  996. limitInt=num
  997. end if
  998. End Function
  999. '限制lng范围
  1000. Function limitLng(ByVal num,min,max)
  1001. if(isLng(num)) then
  1002. num=clng(num)
  1003. else
  1004. num=0
  1005. end if
  1006. if(min="") then
  1007. min=-2147483648
  1008. end if
  1009. if(max="") then
  1010. max=2147483647
  1011. end if
  1012. if(num<min) then
  1013. limitLng=min
  1014. elseif(num>max) then
  1015. limitLng=max
  1016. else
  1017. limitLng=num
  1018. end if
  1019. End Function
  1020. '限制boolean范围
  1021. Function limitBool(ByVal str)
  1022. limitBool=false
  1023. if(str<>"") then
  1024. if(isnumeric(str)) then
  1025. if(str=true) then
  1026. limitBool=true
  1027. exit function
  1028. end if
  1029. else
  1030. if(lcase(str)="true") then
  1031. limitBool=true
  1032. exit function
  1033. end if
  1034. end if
  1035. end if
  1036. End Function
  1037. '限制float范围
  1038. Function limitFloat(ByVal num,min,max)
  1039. if(min="") then
  1040. min=-2147483648
  1041. end if
  1042. if(max="") then
  1043. max=2147483647
  1044. end if
  1045. if(isLng(num)) then
  1046. if(clng(num)<=min) then
  1047. limitFloat=min
  1048. elseif(clng(num)>=max) then
  1049. limitFloat=max
  1050. else
  1051. limitFloat=num
  1052. end if
  1053. else
  1054. limitFloat=min
  1055. end if
  1056. End Function
  1057. '截取字符串
  1058. Function cut(str,strLen,symbol)
  1059. str=trim(str)
  1060. if length(str)>strLen then
  1061. cut=left(str,strLen-1)&symbol
  1062. else
  1063. cut=str
  1064. end if
  1065. End Function
  1066. '字符过滤函数
  1067. Function filter(ByVal fType,str)
  1068. select case fType
  1069. case "sql":'过滤SQL
  1070. if str="" then exit function 
  1071. str=replace(str,chr(34),"")
  1072. str=replace(str,chr(39),"")
  1073. case "html":'过滤HTML标签
  1074. dim objRegExp,match,matches,newStr,i
  1075. Set objRegExp=new Regexp
  1076. objRegExp.ignoreCase=true
  1077. objRegExp.global=true
  1078. objRegExp.pattern="<.+?>"
  1079. Set matches=objRegExp.Execute(str)
  1080. for each match in matches 
  1081. str=Replace(str,match.Value,"")
  1082. next
  1083. Set objRegExp=nothing
  1084. case "wml":'过滤非法WML字符
  1085. str=replace(str,"&","&amp;")
  1086. str=replace(str,">","&gt;")
  1087. str=replace(str,"<","&lt;")
  1088. str=replace(str,"""","&quot;")
  1089. str=replace(str,"{","")
  1090. str=replace(str,"}","")
  1091. str=replace(str,"[","")
  1092. str=replace(str,"]","")
  1093. '过滤乱码
  1094. for i=1 to len(str)
  1095. bitStr=mid(str,i,1)
  1096. ascNum=ascw(bitStr)
  1097. if ascNum>=0 and ascNum<=31 then
  1098. bitStr=""
  1099. end if
  1100. newStr=newStr&bitStr
  1101. next
  1102. str=newStr
  1103. '过滤默认表单值
  1104. set rx=reg("$(([^)]*))",true,true)
  1105. set objMatches=rx.execute(str)
  1106. for each objMatch in objMatches
  1107.   str=replace(str,objMatch.Value,rx.replace(objMatch.Value,""))
  1108. next
  1109. set rx=nothing
  1110. end select
  1111. filter=str
  1112. End Function
  1113. '获取HTTP请求参数值
  1114. Function req(ByVal fieldname,filters)
  1115. Dim fieldvalue
  1116. fieldvalue=request(fieldname)
  1117. Dim filterArr
  1118. filterArr=split(filters,"|")
  1119. for i=0 to UBound(filterArr)
  1120. fieldvalue=filter(filterArr(i),fieldvalue)
  1121. next
  1122. req=trim(fieldvalue)
  1123. End Function
  1124. '获取当前文件名
  1125.   Function getPage()
  1126. getPage=CStr(Request.ServerVariables("SCRIPT_NAME"))
  1127. End Function
  1128. '获取分页URL,param为page名称
  1129. Function getUrl(ByVal param)
  1130. Dim a,b,c,d,e
  1131. a=getPage&"?"&request.QueryString
  1132. e="&"
  1133. b=split(a,e)
  1134. for i=0 to ubound(b)
  1135. if(b(i)<>"") then
  1136. c=split(b(i),"=")
  1137. if(c(0)<>param) then
  1138. d=d&b(i)&"&amp;"
  1139. end if
  1140. end if
  1141. next
  1142. if(right(d,5)="&amp;") then
  1143. d=left(d,len(d)-5)
  1144. end if
  1145. if(right(d,1)="?") then
  1146. d=left(d,len(d)-1)
  1147. end if
  1148. getUrl=replace(replace(d,param&"="&request.QueryString(param),""),"?&amp;","?")
  1149. End Function
  1150. '获取URL参数的值
  1151. Function getUrlValue(ByVal param,url)
  1152. Dim a,b,c,d,e,f
  1153. a=url
  1154. c="?"
  1155. e="&amp;"
  1156. b=split(a,c)
  1157. if Ubound(b)>0 then
  1158. d=b(1)
  1159. b=split(d,e)
  1160. for i=0 to ubound(b)
  1161. if(b(i)<>"") then
  1162. f=split(b(i),"=")
  1163. if(f(0)=param) then
  1164. getUrlValue=f(1)
  1165. exit function
  1166. end if
  1167. end if
  1168. next
  1169. end if
  1170. End Function
  1171. '格式化时间
  1172. Function formatTime(ByVal t,tType)
  1173. dim yy,mm,dd,hh,min,sec
  1174. yy=right(year(t),2)
  1175. fyy=year(t)
  1176. mm=month(t)
  1177. dd=day(t)
  1178. hh=hour(t)
  1179. min=minute(t)
  1180. sec=second(t)
  1181. if mm<10 then
  1182. fmm="0"&mm
  1183. else
  1184. fmm=mm
  1185. end if 
  1186. if dd<10 then
  1187. fdd="0"&dd
  1188. else
  1189. fdd=dd
  1190. end if 
  1191. if hh<10 then
  1192. fhh="0"&hh
  1193. else
  1194. fhh=hh
  1195. end if
  1196. if min<10 then
  1197. fmin="0"&min
  1198. else
  1199. fmin=min
  1200. end if
  1201. if sec<10 then
  1202. fsec="0"&sec
  1203. else
  1204. fsec=sec
  1205. end if
  1206. Select Case tType
  1207. Case 1: formatTime=mm&"-"&dd&" "&hh&":"&min
  1208. Case 2: formatTime=yy&"-"&mm&"-"&dd&" "&hh&":"&min
  1209. Case 3: formatTime=fyy&fmm
  1210. Case 4: formatTime=yy&fmm&fdd
  1211. Case 5: formatTime=yy&fmm&fdd&hh&min
  1212. Case 6: formatTime=fyy&"-"&fmm
  1213. Case 7: formatTime=fyy&"年"&fmm&"月"
  1214. Case 8: formatTime=fmm&"月"&fdd&"日"
  1215. Case 9: formatTime=fyy&"年"&fmm&"月"&fdd&"日"
  1216. Case 10: formatTime=fyy&fmm&fdd
  1217. Case 11: formatTime=fmm&"-"&fdd
  1218. Case 12: formatTime=fmm&"-"&fdd&" "&hh&":"&fmin
  1219. Case 13: formatTime=fyy&"年"&fmm&"月"&fdd&"日"&" "&hh&":"&fmin
  1220. Case 14: formatTime=fyy&"-"&fmm&"-"&fdd
  1221. Case 15: formatTime=fyy&fmm&fdd&fhh&fmin&fsec
  1222. Case 16: formatTime=fyy&"-"&fmm&"-"&fdd&" "&fhh&":"&fmin&":"&fsec
  1223. Case 17: formatTime=fhh&":"&fmin
  1224. Case 18: formatTime=fmm&fdd
  1225. End Select
  1226. End Function
  1227. '返回时间字符串
  1228. Function returnTime(ByVal str,tType)
  1229. yy="20"&left(str,2)
  1230. mm=mid(str,3,2)
  1231. dd=right(str,2)
  1232. Select Case tType
  1233. Case 1:
  1234. returnTime=yy&"-"&mm&"-"&dd
  1235. End Select
  1236. End Function
  1237. '获取导航项目
  1238. Function getNav(ByVal columns)
  1239. Dim navList,navArr,nli,nls,navigation
  1240. navList=split(columns,"|")
  1241. nls=UBound(navList)
  1242. for nli=0 to nls
  1243. if(navList(nli)<>"") then
  1244. navArr=split(navList(nli),",")
  1245. if(navArr(1)<>"") then
  1246. navigation=navigation&"<a href="""&navArr(1)&""">"&navArr(0)&"</a>"
  1247. else
  1248. navigation=navigation&navArr(0)
  1249. end if
  1250. if(nli<>nls) then
  1251. if(navArr(0)<>"") then
  1252. navigation=navigation&"&gt;"
  1253. end if
  1254. end if
  1255. end if
  1256. next
  1257. getNav=navigation
  1258. End Function
  1259. '网站导航
  1260. Sub nav(ByVal params)
  1261. Dim navStr
  1262. navStr="首页,/index.asp"
  1263. if(params<>"") then
  1264. navStr=navStr&"|"&params
  1265. end if
  1266. response.Write("--------------------<br/>")
  1267. response.Write(getNav(navStr))
  1268. response.Write("<br/>本站资源全部免费!")
  1269. End Sub
  1270. '网站导航
  1271. Sub navs(ByVal params)
  1272. Dim navStr
  1273. navStr="首页,/index.asp"
  1274. if(params<>"") then
  1275. navStr=navStr&"|"&params
  1276. end if
  1277. response.Write("--------------------<br/>")
  1278. response.Write("<img src=""/Clear_temporary_files.Asp"" alt="".""/>")
  1279. response.Write(getNav(navStr))
  1280. 'response.Write("<br/>QQ:84554888")
  1281. 'response.Write("<br/>书签:<a href='wapck_com.SIS'>" & Request.ServerVariables("HTTP_HOST")) & "</a>"
  1282. End Sub
  1283. Sub antinav()
  1284. if(not session("antinav")) then
  1285. if(util.req("simulator","")="true") then
  1286. session("antinav")=true
  1287. end if
  1288. end if
  1289. if(not session("antinav")) then
  1290. browsers=Lcase(Left(Request.ServerVariables("HTTP_USER_AGENT"),4))
  1291. if browsers="oper" or browsers="winw" or browsers="wapi" or browsers="mc21" or browsers="up.b" or browsers="upg1" or browsers="upsi" or browsers="qwap" or browsers="jigs" or browsers="java" or browsers="alca" or browsers="wapj" or browsers="fetc" or browsers="r380" or browsers="mozi" or browsers="mozi" or browsers="cdr/" then
  1292. response.redirect "http://127.0.0.1"
  1293. end if
  1294. end if
  1295. End Sub
  1296. Private Sub Class_Terminate
  1297. End Sub
  1298. End Class
  1299. %>