麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

ASP中輕松實現變量名-值變換

2019-11-17 04:13:09
字體:
來源:轉載
供稿:網友

用過php的朋友都知道,PHP中變量的使用靈活方便,特別是能在字符串中方便實現變量名-值變換,使得整個PHP代碼更顯簡潔優美。比如一條更新數據庫的SQL語句只需寫成:
 程序代碼
"update users set passWord='$password', group=$group, name='$username' where account='$account'"
,其中的$password、$group、$username、$account便會被實際的變量值替換,而在asp中要實現相同的功能必須寫成:
 程序代碼
"update useres set password='" & password & "',group=" & group & ",name='" & username & "' where account='" & account & "'"
,顯得冗長難看。如果這是一條insert語言而且插入的字段內容很多的話,那么查看字段與values的對應關系將會是一個痛苦的過程。

  現在讓我們看看如何在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


實現

完整代碼:

 程序代碼

'DESIGN BY :  彭國輝
'SITE:        [email protected]

'文章為作者原創,轉載前請先與本人聯系,轉載請注明文章出處、保留作者信息,謝謝支持!
'=================================================================

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)還允許對字符串值進行四則運算。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久久草草影视免费网 | 欧美性生交xxxxx久久久 | 亚洲午夜精选 | 国产三级午夜理伦三级 | 国产亚洲精品视频中文字幕 | 久久国产精品久久久久久 | 婷婷中文字幕一区二区三区 | 欧美高清第一页 | 国产福利视频在线观看 | 久久综合一区二区 | 国产免费观看av | 水卜樱一区二区av | 在线观看免费毛片视频 | h色视频网站 | 在线成人免费av | 日韩欧美高清一区 | 中文在线观看www | 一区二区免费看 | 国产资源在线视频 | 久久精品色 | 欧美一级三级在线观看 | 国产精品区一区二区三区 | 久草视频在线看 | 午夜久久久精品一区二区三区 | 天堂二区| 99视频在线观看视频 | 日本aⅴ在线 | av老司机久久 | 国产日本欧美在线观看 | 精品一区二区三区免费 | 天天夜夜操操 | av在线播放免费观看 | 久久精品视频69 | 中文字幕网站在线 | 亚洲成人福利在线观看 | 在线a亚洲视频播放在线观看 | 久久精品视频1 | 视频一区 在线 | 亚洲人成网站在e线播放 | 成人在线观看免费高清 | 成人免费av在线 |