打印本文 打印本文 关闭窗口 关闭窗口
Split 函数应用示例 ( VBScript版本 )
作者:武汉SEO闵涛  文章来源:敏韬网  点击数1166  更新时间:2009/4/23 18:59:25  文章录入:mintao  责任编辑:mintao

Split 函数应用示例 ( VBScript版本 )
--  Sailflying
Sailflying(车仔)原创,版权所有,如需使用,请与我联系( sailflying@163.net )
动机:
经典论坛里有个朋友问“一串字符,逗号格开,分开做链接,VBS有这种函数吗?”他想解决的是:“一串字符,逗号格开,分开做链接。比如:论坛首页里‘Fly, mjking, stchin, vvjohn, 不太清醒, 苛子, 车仔’每个名字都是一个链接。”

这就需要从输入的变量中读取数据,根据数据项用split函数将其分开,转化为一个数组进行处理,并用trim函数去掉数据前后空格。这样可以轻松的提取自己需要的数值了。

这里我用到了正则表达式中的Split 函数。
Split 函数
将字符串依指定的规则切开。

语法: array split(string pattern, string string, int [limit]);
返回值: 数组
函数种类: 资料处理

内容说明
本函数可将字符串依指定的规则分开。切开后的返回值为数组变量。
参数 pattern 为指定的规则字符串、参数 string 则为待处理的字符串、参数 limit 可省略,表示欲处理的最多合乎值。
值得注意的是本函数的 pattern 参数有区分大小写。。

材料:
表单域 (form1)
文本框 (text1,text2)
显示层 (Layer1)
确定键 (Command1)

效果:
浏览这里
代码:
自定义函数:txtSplit (将输入框中的多个变量分离开来,并显示在列表项,在层中显示每个变量的链接) <SCRIPT LANGUAGE="VBScript">
<!--
Sub txtSplit()
form1.Text1.value = Replace(form1.Text1.value, " ", "") ''''清除字串中的空格
If form1.Text1.value <> "" Then
''''MsgBox "yes"
''''Dim vArr As Variant
''''Dim astr(10) As String
''''vArr = astr
vArr = Split(form1.Text1.value, ",")
form1.Text2.value = "分离变量列表 "+ vbCrLf + "-------------"+ vbCrLf
Layer1.innerHtml = "<br>&nbsp;&nbsp;变量链接列表<br>&nbsp;&nbsp;-------------<br>"
For i = LBound(vArr) To UBound(vArr)
If (vArr(i) <> "") Then
form1.Text2.value = form1.Text2.value + vArr(i)
If (i < UBound(vArr)) Then
form1.Text2.value = form1.Text2.value + vbCrLf
End If
Layer1.innerHtml= Layer1.innerHtml+"&nbsp;&nbsp;<A target=''''_blank'''' HREF=http://www.blueidea.com/bbs/viewuser.asp?username="+vArr(i)+">"+vArr(i)+"</A><br>"
End If
Next
Else
MsgBox "请输入变量。"
End If
End Sub
//-->
</SCRIPT>

表单源码 <form name="form1" >
请输入变量: (变量之间用“,”隔开)
<input type="text" name="text1" style="width:360" value="Fly, mjking, stchin, vvjohn, 不太清醒, 苛子, 车仔 ">
<input type="button" name="Command1" value="分离" onClick="txtSplit()">

<textarea name="text2" rows="9" cols="15" readonly></textarea>

<div id="Layer1" style=" width:160px; height:148px; background-color: #F0F7FF; layer-background-color: #F0F7FF; border: 1px none #000000; clip: rect(10 10 10 10)" align="left">
</div>

</form>


打印本文 打印本文 关闭窗口 关闭窗口