软件下载 | 资讯教程 | 最近更新 | 下载排行 | 一键转帖 | 发布投稿
您的位置:最火下载站 > 网络编程 > ASP教程 > ASP中文长度检测及截取函数(支持UTF-8)

ASP中文长度检测及截取函数(支持UTF-8)

这个是经常用到的一个中文字符串长度检测以及截取的VBS函数,同功能的函数网上有很多。但是编写UTF-8编码格式的WEB时,你会发现网上找的大部分都无法使用了,于是自己编写了这个函数,完全支持UTF-8,需要的网友请拿去。
'-------------------------------------------------
'描述: 返回数字格式,获取中文字符串的长度,一个中文值为2
'语法: ChineseLen(str)
'参数: str  string  指定将要获取的中文字符串
'示例: Response.Write ChineseLen("这段函数来自于阿智的博客 http://www.azhi.net.cn")
'-------------------------------------------------
Function ChineseLen(Str)
  Dim oRegExp, sTmp
  If Len(Trim(str)) > 0 Then
    Set oRegExp = new RegExp
    oRegExp.IgnoreCase = True
    oRegExp.Global = True
    oRegExp.Pattern = "[\uff00-\uffff\u4e00-\u9fa5\ufe10-\ufe1f\ufe30-\ufe4f\u1100-\u11ff\u2600-\u26ff\u2700-\u27bf\u2800-\u28ff\u3300-\u33ff\u3200-\u32ff\ua490-\ua4cf\ua000-\ua48f\u3130-\u318f\uac00-\ud7af\u31f0-\u31ff\u30a0-\u30ff\u3040-\u309f\u31a0-\u31bf\u3100-\u312F\u2FF0-\u2FFF\u2F00-\u2FDF\u31c0-\u31ef\u3000-\u303f\u2e80-\u2eff\uff00-\uffef]"
    sTmp = oRegExp.Replace(str, "xx")
    Set oRegExp=Nothing
  End If
  ChineseLen = Len(sTmp)
End function
'-------------------------------------------------
'描述: 返回截取指点长度后字符串
'语法: ChineseLeft(str, Lennum, more)
'参数: str  string  指定将要截取的中文字符串
      Lennum  int  指定要截取的长度
      more string  设定截取后的示意符,可以为空
'示例: Response.Write ChineseLeft("这段函数来自于阿智的博客 http://www.azhi.net.cn", 20, "..")
'-------------------------------------------------
function ChineseLeft(str, Lennum, more)
Dim oRegExp, lNum
If ChineseLen(str) <= Lennum Then ChineseLeft = str: Exit function
lennum = lennum - ChineseLen(more)
Do
  str = Left(str, Len(str) - 1)
  lNum = ChineseLen(str)
Loop While lNum > lennum
ChineseLeft = str & more
End Function

    相关阅读
    栏目导航
    推荐软件