2011-07-15 40 views
3

我有一些代碼使用SetVariable函數,它將第一個參數作爲基於傳遞給此代碼的變量名創建的變量名。檢查變量名是否有效的函數

我正在尋找一種方法來檢查傳遞給它的字符串是一個有效的變量名稱使用函數而不是使用try/catch塊來捕獲此錯誤。

我知道有一個函數IsValid但它只檢查變量是否有效,而不是如果它是一個有效的變量名稱。有沒有人有任何建議或自定義代碼,他們曾經這樣做?

感謝,

湯姆

+2

不知道Coldfusion的不足,但我知道它支持正則表達式。你可以用一個像[A-Za-z] [A-Za-z0-9 _] *(必須以alpha開頭並且可能包含任何字母,數字或下劃線)來測試變量名稱 - >將regexp調整爲無論是適合你的。 – Eddy

回答

7

我知道有一個函數的IsValid但如果這只是檢查變量 是有效的,而不是它是否是一個合法的變量名

事實上的IsValid( )做你想要的,如果你指定「variableName」作爲類型。

<cfoutput>#IsValid("variableName","1")#</cfoutput> 

由於CF中的變量名不能以數字開頭,會輸出NO。