ndfweb.cn

Asp几个自定义函数


2009-05-09 14:08:58 (5370)


GetRepeatTimes(TheChar,TheString) 得到一个字符串在另一个字符串当中出现几次的函数()

如:
response.write GetRepeatTimes("w","www.51windows.net")
response.write GetRepeatTimes("ww","wwwww")

在网上看到过一个CheckTheChar(TheChar,TheString)函数,有个bug,在检测wwwww中有几个ww时,会错误的返回4个!

cLeft(string, length) 返回指定数目的从字符串的左边算起的字符,区分单双字节。

如:
Dim MyString, LeftString
MyString = "文字测试VBSCript"
LeftString = cLeft(MyString, 10)
返回 "文字测试VB"。


MyRandc(n) 生成随机字符,n为字符的个数

如:
response.write MyRandn(10)
输出10个随机字符


MyRandn(n) 生成随机数字,n为数字的个数

如:
response.write MyRandn(10)
输出10个随机数字


formatQueryStr(str) 格式化sql中的like字符串.
如:
q = Request("q")
q = formatQueryStr(q)
sql = "select * from [table] where aa like '%"& q &"%'"

GetRnd(min,max) 返回min - max之间的一个随机数

如:
response.write GetRnd(100,200)
输出大于100到200之间的一个随机数

RegReplace(str,regexStr,RepalceStr) 对str  进行正则替换

如:
htmlstr = "123<img src=""asdf.gif"" border=""0"">45<b>6</b>"
htmlstr2 = RegReplace(htmlstr,"<(.[^><]*)>","")
返回 htmlstr2  为123456

所有函数如下:

function cLeft(str,n)
 dim str1,str2,alln,Islefted
 str2 = ""
 alln = 0
 str1 = str
 Islefted = false
 if isnull(str) then
  cleft = ""
  exit function
 end if
 for i = 1 to len(str1)
  nowstr = mid(str1,i,1)
  if asc(nowstr)<0 then
   alln = alln + 2
  else
   alln = alln + 1
  end if
  if (alln<=n) then
   str2 = str2 & nowstr
  else
   Islefted = true
   exit for
  end if
 next
 if Islefted then
  str2 = str2 & ".."
 end if
 cleft = str2
end function


function MyRandc(n) '生成随机字符,n为字符的个数
 dim thechr
 thechr = ""
 for i=1 to n
  dim zNum,zNum2
  Randomize
  zNum = cint(25*Rnd)
  zNum2 = cint(10*Rnd)
  if zNum2 mod 2 = 0 then
   zNum = zNum + 97
  else
   zNum = zNum + 65
  end if
  thechr = thechr & chr(zNum)
 next
 MyRandc = thechr
end function


function MyRandn(n) '生成随机数字,n为数字的个数
 dim thechr
 thechr = ""
 for i=1 to n
  dim zNum,zNum2
  Randomize
  zNum = cint(9*Rnd)
  zNum = zNum + 48
  thechr = thechr & chr(zNum)
 next
 MyRandn = thechr
end function

function formatQueryStr(str) '格式化sql中的like字符串
 dim nstr
 nstr = str
 nstr = replace(nstr,chr(0),"")
 nstr = replace(nstr,"'","''")
 nstr = replace(nstr,"[","[[]")
 nstr = replace(nstr,"%","[%]")
 formatQueryStr = nstr
end function

function GetRnd(min,max)
 Randomize
 GetRnd = Int((max - min + 1) * Rnd + min)
end function

Function GetRepeatTimes(TheChar,TheString)
 GetRepeatTimes = (len(TheString)-len(replace(TheString,TheChar,"")))/len(TheChar)
End Function

Function RegReplace(Str,PatternStr,RepStr)
 Dim NewStr,regEx
 NewStr = Str
 if isnull(NewStr) then
  RegReplace = ""
  exit function
 end if
 Set regEx = New RegExp
 regEx.IgnoreCase = True
 regEx.Global = True
 regEx.Pattern=PatternStr
 NewStr = regEx.Replace(NewStr,RepStr)
 RegReplace = NewStr
end function

了解更多请访问:http://www.ndfweb.cn/news-338.html
  NDF俱乐部
  国际域名注册
  建站咨询
合作伙伴:万网 | 新网 | 新网互联 NDF网站建设淘宝店 | 实用工具 | 外貿網站建設 | 联系我们
鲁公网安备 37110202000336号 鲁ICP备2021027697号-1 Sitemap - RSSRSS订阅