作家
登录

ASP 过滤数组重复数据函数(加强版)

作者: 来源:www.28hudong.com 2013-03-30 01:32:21 阅读 我要评论

函数代码: 复制代码 代码如下: <%'******************************************************* '过滤数组重复函数名称:array_no(cxstr1,cxstr2,cxstr3) 'cxstr1:任意的字符串,自动识别 'cxstr2:cxstr1中分割符号。 'cxstr3:提取结果中的某一位置字串,等于0时返回为全部,大于数组下标时返回最后. '使用于二维数组 '******************************************************* function array_no(cxstr1,cxstr2,cxstr3) if len(cxstr3) > 0 then if not IsNumeric(cxstr3) then array_no = "对不起,参数3类型必需为数字" Exit Function end if else array_no = "对不起,参数3类型必需为数字" Exit Function end if if isarray(cxstr1) then array_no = "对不起,参数1不能为数组" Exit Function end if if cxstr1 = "" or isempty(cxstr1) then array_no = "没有数据" Exit Function end if ss = split(cxstr1,cxstr2) cxs=cxstr2&ss(0)&cxstr2 sss=cxs for m = 0 to ubound(ss) cc = cxstr2&ss(m)&cxstr2 if instr(sss,cc)=0 then sss = sss&ss(m)&cxstr2 end if next array_no = right(sss,len(sss)-len(cxstr2)) array_no = left(array_no,len(array_no)-len(cxstr2)) if cxstr3 <> 0 then cx_sp = split(array_no,cxstr2) if cxstr3 > ubound(cx_sp) then array_no = cx_sp(ubound(cx_sp)) else array_no = cx_sp(cxstr3) end if end if end function%> 下面是测试代码: 复制代码 代码如下: <%s1 = "abc,aa,bb,cdef,bc,abcdef,hhgg,gggg,cde,edc" s2 = "1,2,3,11,22,33,12,13,14,11,33,333,14" s3 = "" s4 = "sdf,abc,12,2,2,abc" s5 = split(s4) response.write "字串为字符时:"&array_no(s1,",",0)&"<br>" response.write "字串为数字时:"&array_no(s2,",",0)&"<br>" response.write "字串为空时:"&array_no(s3,",",0)&"<br>" response.write "字串为混合时:"&array_no(s4,",",0)&"<br>" response.write "字串为数组时:"&array_no(s5,",",0)&"<br>" response.write "字串为未知变量时:"&array_no(s33,",",0)&"<br>" response.write "提取某一位时,没有超过下标时:"&array_no(s1,",",2)&"<br>" response.write "提取某一位时,超过下标时:"&array_no(s1,",",200)&"<br>"%> 测试结果: 复制代码 代码如下: 字串为字符时:abc,aa,bb,cdef,bc,abcdef,hhgg,gggg,cde,edc 字串为数字时:1,2,3,11,22,33,12,13,14,333 字串为空时:没有数据 字串为混合时:sdf,abc,12,2 字串为数组时:对不起,参数1不能为数组 字串为未知变量时:没有数据 提取某一位时,没有超过下标时:bb 提取某一位时,超过下标时:edc 脚本之家增强版本: 解决了数组常见错误复制代码 代码如下: <% '******************************************************* '过滤数组重复函数名称:array_no(cxstr1,cxstr2,cxstr3) 'cxstr1:任意的字符串,自动识别 'cxstr2:cxstr1中分割符号。 'cxstr3:提取结果中的某一位置字串,等于0时返回为全部,大于数组下标时返回最后. '使用于二维数组 '******************************************************* function array_no(cxstr1,cxstr2,cxstr3) if len(cxstr3) > 0 then if not IsNumeric(cxstr3) then array_no = "对不起,参数3类型必需为数字" Exit Function end if else array_no = "对不起,参数3类型必需为数字" Exit Function end if if isarray(cxstr1) then array_no = "对不起,参数1不能为数组" Exit Function end if if cxstr1 = "" or isempty(cxstr1) then array_no = "没有数据" Exit Function end if do while instr(cxstr1,",,")>0 cxstr1=replace(cxstr1,",,",",") loop if right(cxstr1,1)="," then cxstr1=left(cxstr1,len(cxstr1)-1) end if ss = split(cxstr1,cxstr2) cxs=cxstr2&ss(0)&cxstr2 sss=cxs for m = 0 to ubound(ss) cc = cxstr2&ss(m)&cxstr2 if instr(sss,cc)=0 then sss = sss&ss(m)&cxstr2 end if next array_no = right(sss,len(sss)-len(cxstr2)) array_no = left(array_no,len(array_no)-len(cxstr2)) if cxstr3 <> 0 then cx_sp = split(array_no,cxstr2) if cxstr3 > ubound(cx_sp) then array_no = cx_sp(ubound(cx_sp)) else array_no = cx_sp(cxstr3) end if end if end function s1 = "abc,aa,bb,cdef,bc,abcdef,hhgg,gggg,cde,edc,333,,,,,333,7,,,," s2 = "1,2,3,11,22,33,12,13,14,11,33,333,14,333,,,,,333,7,,,," s3 = "" s4 = "sdf,abc,12,2,2,abc,333,,,,,333,7,,,," s5 = split(s4) response.write "字串为字符时:"&array_no(s1,",",0)&"<br>" response.write "字串为数字时:"&array_no(s2,",",0)&"<br>" response.write "字串为空时:"&array_no(s3,",",0)&"<br>" response.write "字串为混合时:"&array_no(s4,",",0)&"<br>" response.write "字串为数组时:"&array_no(s5,",",0)&"<br>" response.write "字串为未知变量时:"&array_no(s33,",",0)&"<br>" response.write "提取某一位时,没有超过下标时:"&array_no(s1,",",2)&"<br>" response.write "提取某一位时,超过下标时:"&array_no(s1,",",200)&"<br>" %> 主要是增加了判断 复制代码 代码如下: do while instr(cxstr1,",,")>0 cxstr1=replace(cxstr1,",,",",") loop if right(cxstr1,1)="," then cxstr1=left(cxstr1,len(cxstr1)-1) end if

  推荐阅读

  lightBox 简易的全屏透明遮罩解决方法

步入正题: 现在全屏的半透明遮罩层在web2.0网站应用非常广泛了,绝大多数遮罩是通过计算页面大小,然后覆盖一个与页面同等大小的层实现,如腾讯qzone, wordpress后台。这种方式本来无可非议,但是在页面很长的时候>>>详细阅读


本文标题:ASP 过滤数组重复数据函数(加强版)

地址:http://www.17bianji.com/kaifa2/JS/26262.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)