上一篇:蛙蛙推荐: 用web服务传递Dataset的一个简单例子 >>
ASP中轻松实现变量名-值变换
现在让我们看看如何在ASP实现类似的变量名-值变换。
思路
首先,必须有一个方法把需要用实际值替换的变量名与普通的文本区分出来;然后,把所有找到的变量名用它所代表的实际值替换掉。
对于第一点可以通过正则表达式查找得到,这里我们不采用PHP的变量表示方式,而采用大托号{}作为变量名的边界符,字符串表示变为password=‘’{password}‘’,group={group}。
第二点是变量名-值变换的关键,通过变量名得到变量值。查看ASP资料没有找到直接实现的方法,但有一个函数Execute引起我们的注意,从资料说明中可知Execute可以执行传入的有效的字符串作为代码执行同,这样只要编写一个小函数就可以实现我们的要示。核心代码为:
function GetVar(var_name)
Execute("function get_value(): get_value=" & var_name & ": end function")
getvar=get_value()
end function
实现
完整代码:
function GetVar(var_name)
Execute("function get_value(): get_value=" & var_name & ": end function")
getvar=get_value()
end function
function Txt2Value(str, level)
dim regEx, Matches, Result
Set regEx = new RegExp
select case level
case 0 regEx.Pattern = "\{(\w+)\}" ‘’变量名有效
case 1 regEx.Pattern = "\{([\w+\-\*/\\<>=]+)\}" ‘’变量名及运算符有效
‘’case 2 regEx.Pattern = "\{([\w\s]+)\}" ‘’除换行符外的所有字符有效
case else exit function
end select
‘’regEx.Pattern = "\{(\w+)\}"
regEx.IgnoreCase = true
regEx.Global = true
Set Matches = regEx.Execute(str)
Result = str
‘’response.write Matches.Count
For Each Match In Matches
Result = Replace(Result, Match.Value, GetVar(Match.SubMatches(0)))
Next
set Matches = nothing
set regEx = nothing
Txt2Value = Result
end function
function Var2Value(var_name)
Var2Value = Txt2Value(var_name, 0)
end Function
调用方法:
Var2Value("update users set password=‘’{password}‘’, group={group}, name=‘’{username}‘’ where account=‘’{account}‘’"
Var2Value调用了Txt2Value,Txt2Value找出所有变量名交调用GetVar得到变量值并进行替换。实际上直接调用Txt2Value(str,1)还允许对字符串值进行四则运算。
下一篇:J2EE还是.NET,这是一个问题 >>
相关文章:
- · 建立三层结构的ASP应用程序
- · 研究心得------->CPU信息的获得,比较全面的
- · Sender 的??用:所有Edit共用一???^?V格式
- · override deal with window closing in database application
- · C++ 和 Delphi 的函数覆盖(Override)与重载(overload
- · 正确处理ASP动态网页中的容错机制
- · 几例在ASP存储过程的使用方法
- · 实现让每句话的头一个字母都大写
- · 如何尽快释放掉Connection对象建立的连接?
- · Connection对象的应用
- · 利用ASP打造网站论坛DIY
- · Asp中代码与页面的分离
- · 一个ASP版的图片浏览管理器
- · 实现有管理功能的ASP留言板
- · 编译asp应用程序成为exe文件
- · 如何准确定时运行ASP文件
- · ASP整合的一个SQL语句类
- · Jmail发信的实例,模块化随时调用
- · ASP字数计算函数
- · 无刷新随时取得用户当前活动信息
- · ASP自定义函数,仿VBA中域函数DLookup
- · asp中对ip进行过滤限制函数
- · 让ASP程序运行于非Windows平台
- · ASP中实现文件上传方法的研究
- · asp国标转大五码
- · Global.asa文件用法大全
- · 微软建议的ASP性能优化28条守则
- · 在ASP中取得服务器网卡的MAC地址、DNS地址等网络信息
- · ASP中记录的分页
- · 下载网页中的所有资源
- · 函数方便制作管理界面
- · 无限级目录树+记忆节点状态
- · 利用C#在SQL Server2000存取图像 For Window
- · 通过MSXML2自动获取QQ个人头像及在线情况(给初学者)
- · ASP模板类[实现一维循环和二维循环,可以从文件、数据库、变量取摸板]
- · 各种存储过程使用指南
- · 树型结构在ASP中的简单解决
- · 用ASPJPEG组件制作图片的缩略图和加水印
