ICANN认证国际域名顶级注册机构
网站建设,域名注册,空间租用,软件销售,广告设计 域名注册,空间租用, 网站建设,东莞网页设计,域名注册,网站推广,网站开发,网页设计 网站推广,,百度推广,新浪推广,雅虎推广,网易推广 标志设计,画册设计,包装设计,VI策划,企业形象顾问 连邦软件加盟店,提供销遥行,管家婆,速达,用友ERP,诺顿等软件报价及销售 建站必读 腾达网络,上网帮助中心, 腾达为东莞等地,提供网站建设,网站推广,广告设计,软件销售等优质服务!
建站必读


 
 
当前位置:首页 -> 建站必读 -> ASP技术
只用一个Session解决购物车(3)
  The RegExpItem() 函数



  这也是一个私有函数,它有两个参数,一个是要处理商品名称字符串,一个是要执行的指令:"增加"或"减少",即增加或减少某个商品的数量。是增加还是减少由调用它的函数决定,即传递过来的参数是raise(增加)还是(lower)。下面让我们来看看这个函数:





Private Function RegExpItem(argString, argAction)

dim objRegExp, objMatches

dim strString, strNewString

dim intQty

   

Set objRegExp = New RegExp

objRegExp.Pattern = "[^()0-9]+"

objRegExp.IgnoreCase = True

objRegExp.Global = True

   

Set objMatches = objRegExp.Execute(argString)

strString=objMatches.Item(0)

   

objRegExp.Pattern = "[0-9]+"

objRegExp.IgnoreCase = True

objRegExp.Global = True



Set objMatches = objRegExp.Execute(argString)

if objMatches.Count=0 then

    intQty=1

else

intQty=objMatches.Item(0)

end if



Select Case argAction

Case "lower"

if intQty>1 then

strNewString=strString & "(" & (intQty-1) & ")"

elseif intQty=0 then

strNewString=strString

else

strNewString=""

end if

   

Case "raise"

strNewString=strString & "(" & (intQty+1) & ")"

End Select

   

RegExpItem = strNewString

End Function





  这个函数有两个参数,argString and argAction,(译者注:以下内容涉及VBSCRIPT中REGEXP对象(正则表达式对象)的知识,关于REGEXP的详细介绍请看http://www.eschool.com.cn/document/20001011/2000101111063201.shtml)。函数首先用EXECUTE方法,在argString参数中按正则表达式模式搜索出符合条件的字串,即把除产品数量以外的内容提取出来,然后把提取出来的字串保存在变量strString中备用。之后再执行一次类似的操作把参数argString中的数字,即商品数量提取出来,保存在变量intQty中。



  根据第二个参数是raise(增加)还是lower(减少),函数决定变量intQty进行加1还是减1的操作。然后把变量strString、"("、变量intQty和")"连接起来,返回一个新的字符串:strNewString。



  我在写这个函数第一版的时候,只使用了VBSCRIPT的字符串函数,主要是split() 和 join()。这个版本工作的很好,但是代码看起来不很漂亮,而且也不如用REGEXP对象简单易用。因为我没有对两个版本进行过比较,所以我不能说出哪个版本效率更高,但是我听说使用split() 和 join()应该更快一些。



  这段代码的特色是非常容易改编。如果你想校验数据的合法性,比如说商品ID号或商品名称,都可以用这段代码。正则表达式"[0-9]+"只与数字匹配,比如说商品ID或商品数量。而另一个正则表达式模式 "[^()0-9]+"与除数字和逗号的字符匹配。 (待续)


 
 
本站关键词:
|网络公司 东莞|东莞做网站|东莞连邦软件|网页设计公司|东莞软件销售|东莞.com域名注册|东莞.cn域名注册|东莞雅虎推广|东莞网站建设|东莞网页设计|东莞网络公司|网站建设||网络公司 东莞|东莞做网站|东莞连邦软件|网页设计公司|东莞软件销售|东莞.com域名注册|东莞.cn域名注册|东莞雅虎推广|东莞网站建设|东莞网页设计|东莞网络公司|网站建设||网络公司 东莞|东莞做网站|东莞连邦软件|网页设计公司|东莞软件销售|东莞.com域名注册|东莞.cn域名注册|东莞雅虎推广|东莞网站建设|东莞网页设计|东莞网络公司|网站建设||网络公司 东莞|东莞做网站|东莞连邦软件|网页设计公司|东莞软件销售|东莞.com域名注册|东莞.cn域名注册|东莞雅虎推广|东莞网站建设|东莞网页设计|东莞网络公司|网站建设||网络公司 东莞|东莞做网站|东莞连邦软件|网页设计公司|东莞软件销售|东莞.com域名注册|东莞.cn域名注册|东莞雅虎推广|东莞网站建设|东莞网页设计|东莞网络公司|网站建设||网络公司 东莞|东莞做网站|东莞连邦软件|网页设计公司|东莞软件销售|东莞.com域名注册|东莞.cn域名注册|东莞雅虎推广|东莞网站建设|东莞网页设计|东莞网络公司|网站建设||网络公司 东莞|东莞做网站|东莞连邦软件|网页设计公司|东莞软件销售|东莞.com域名注册|东莞.cn域名注册|东莞雅虎推广|东莞网站建设|东莞网页设计|东莞网络公司|网站建设||网络公司 东莞|东莞做网站|东莞连邦软件|网页设计公司|东莞软件销售|东莞.com域名注册|东莞.cn域名注册|东莞雅虎推广|东莞网站建设|东莞网页设计|东莞网络公司|网站建设||网络公司 东莞|东莞做网站|东莞连邦软件|网页设计公司|东莞软件销售|东莞.com域名注册|东莞.cn域名注册|东莞雅虎推广|东莞网站建设|东莞网页设计|东莞网络公司|网站建设|
域名注册 | 虚拟主机 | 网站建设 | 网站推广 | 广告设计 | 帮助中心 | 软件中心 | 关于腾达
东莞市腾达信息工程有限公司      本站网络实名: 东莞网站建设
地址:东莞市新城市中心区第一国际B座610   邮编:523007
电话:0769-22026071 22026072 传真:0769-22026076 24小时服务热线:13712032014
© 2002~2005 腾达网络   版权所有