六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

ASP中簡(jiǎn)單完成變量名-值變換

[摘要]nhconch [原作]   用過(guò)PHP的朋友都知道,PHP中變量的使用靈活方便,特別是能在字符串中方便實(shí)現(xiàn)變量名-值變換,使得整個(gè)PHP代碼更顯簡(jiǎn)潔優(yōu)美。比如一條更新數(shù)據(jù)庫(kù)的SQL語(yǔ)句只需寫成:"update users set password='password',...

nhconch [原作]

  用過(guò)PHP的朋友都知道,PHP中變量的使用靈活方便,特別是能在字符串中方便實(shí)現(xiàn)變量名-值變換,使得整個(gè)PHP代碼更顯簡(jiǎn)潔優(yōu)美。比如一條更新數(shù)據(jù)庫(kù)的SQL語(yǔ)句只需寫成:"update users set password='$password', group=$group, name='$username' where account='$account'",其中的$password、$group、$username、$account便會(huì)被實(shí)際的變量值替換,而在ASP中要實(shí)現(xiàn)相同的功能必須寫成:"update useres set password='" & password & "',group=" & group & ",name='" & username & "' where account='" & account & "'",顯得冗長(zhǎng)難看。如果這是一條insert語(yǔ)言而且插入的字段內(nèi)容很多的話,那么查看字段與values的對(duì)應(yīng)關(guān)系將會(huì)是一個(gè)痛苦的過(guò)程。

  現(xiàn)在讓我們看看如何在ASP實(shí)現(xiàn)類似的變量名-值變換。

思路

  首先,必須有一個(gè)方法把需要用實(shí)際值替換的變量名與普通的文本區(qū)分出來(lái);然后,把所有找到的變量名用它所代表的實(shí)際值替換掉。
  對(duì)于第一點(diǎn)可以通過(guò)正則表達(dá)式查找得到,這里我們不采用PHP的變量表示方式,而采用大托號(hào){}作為變量名的邊界符,字符串表示變?yōu)閜assword='{password}',group={group}。
  第二點(diǎn)是變量名-值變換的關(guān)鍵,通過(guò)變量名得到變量值。查看ASP資料沒(méi)有找到直接實(shí)現(xiàn)的方法,但有一個(gè)函數(shù)Execute引起我們的注意,從資料說(shuō)明中可知Execute可以執(zhí)行傳入的有效的字符串作為代碼執(zhí)行同,這樣只要編寫一個(gè)小函數(shù)就可以實(shí)現(xiàn)我們的要示。核心代碼為:
function GetVar(var_name)
    Execute("function get_value(): get_value=" & var_name  & ": end function")
    getvar=get_value()
end function

實(shí)現(xiàn)

完整代碼:
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+\-\*/\\<>=]+)\}" '變量名及運(yùn)算符有效
        '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

調(diào)用方法:
Var2Value("update users set password='{password}', group={group}, name='{username}' where account='{account}'"
  Var2Value調(diào)用了Txt2Value,Txt2Value找出所有變量名交調(diào)用GetVar得到變量值并進(jìn)行替換。實(shí)際上直接調(diào)用Txt2Value(str,1)還允許對(duì)字符串值進(jìn)行四則運(yùn)算。

 




主站蜘蛛池模板: 欧美亚洲日本国产 | 日本高清网站 | 一级毛片a女人刺激视频免费 | 伊人福利在线 | 视频在线a| 日韩美女在线观看 | 午夜亚洲一区二区福利 | 天天色综合3 | 婷婷久操| 四虎影院新网址 | 亚洲成a人片 | 一级做a爰片久久毛片人呢 一级做a爰片久久毛片免费看 | 婷婷激情综合网 | 青草草在线观看 | 天天躁日日躁狠狠躁视频下载播二 | 亚洲成a人v欧美综合天堂下载 | 影音先锋色先锋 | 伊人官网 | 欧洲激情视频 | 香蕉免费一区二区三区 | 色爱综合网欧美 | 天天做天天爱天天爽综合区 | 日韩在线天堂免费观看 | 亚洲成a人片在线观看中文 亚洲成a人片在线观看精品 | 日韩在线天堂 | 四虎影视国产884a精品亚洲 | 欧美性www | 我色综合 | 日韩性黄色一级 | 特黄一级 | 手机午夜视频 | 婷婷色网站 | 自怕偷自怕亚洲精品 | 色综合天天综合网国产成人网 | 午夜久久久精品 | 天天射天天操天天干 | 亚洲图片在线欧美专区图片 | 亚洲中字在线 | 日本七大伦理经典在线观看 | 婷婷六月色 | 日本国产中文字幕 |