'------------------------------------------------- '描述: 返回数字格式,获取中文字符串的长度,一个中文值为2 '语法: ChineseLen(str) '参数: strstring指定将要获取的中文字符串 '示例: 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) '参数: strstring指定将要截取的中文字符串 Lennumint指定要截取的长度 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 |
零七网部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与零七网进行文章共享合作。