如何檢查字符串是否是vbscript中的有效GUID?有沒有人寫過IsGuid方法?檢查有效的guid
回答
這與same question in c#相似。這是您需要的正則表達式...
^[A-Fa-f0-9] {32} $ | ^({|()?[A-Fa-f0-9] {8} - ( [A-發f0-9] {4} - ){3} [A-發f0-9] {12}(} |?))$ | ^({)是0xA-發f0-9 ] {3,10}(,{0,1} [0xA-Fa-f0-9] {3,6}){2},{0,1}({)([0xA-Fa-f0-9] {3,4},{0,1}){7} [0xA-Fa-f0-9] {3,4}(}})$
但這僅僅是爲了初學者。您還必須驗證諸如日期/時間等各個部分是否在可接受的範圍內。要想知道測試一個有效的GUID有多複雜,請查看其中一個Guid構造函數的源代碼。
請參閱Check a GUID。
我想,一個,但我有一個VBScript錯誤。我猜這是vb代碼不是vbscript。 – chumbawumba 2008-09-25 14:07:42
VBScript不支持`Like` – AutomatedChaos 2012-09-07 15:49:13
在VBScript中,您可以使用RegExp對象使用正則表達式匹配字符串。
還有另一種解決方案:
try
{
Guid g = new Guid(stringGuid);
safeUseGuid(stringGuid); //this statement will execute only if guid is correct
}catch(Exception){}
Techek的功能並沒有在傳統的ASP(VBScript)作爲我的工作。由於某種奇怪的原因,它總是返回True。通過一些小的改變它確實有效。見下面
Function isGUID(byval strGUID)
if isnull(strGUID) then
isGUID = false
exit function
end if
dim regEx
set regEx = New RegExp
regEx.Pattern = "{[0-9A-Fa-f-]+}"
isGUID = regEx.Test(strGUID)
set RegEx = nothing
End Function
此功能工作在傳統的ASP:
Function isGUID(byval strGUID)
if isnull(strGUID) then
isGUID = false
exit function
end if
dim regEx
set regEx = New RegExp
regEx.Pattern = "^({|\()?[A-Fa-f0-9]{8}-([A-Fa-f0-9]{4}-){3}[A-Fa-f0-9]{12}(}|\))?$"
isGUID = regEx.Test(strGUID)
set RegEx = nothing
End Function
- 1. 如何檢查無效的GUID參數傳遞
- 2. 在SQL中檢查空Guid
- 3. 檢查有效URL
- 4. Qt檢查有效的URL
- 5. 檢查有效的指針
- 6. 檢查有效的線程
- 7. 檢查有效的HTML C#
- 8. 檢查有效的IMEI
- 9. 檢查URL的有效性
- 10. 檢查有效的gravatar(PHP)
- 11. 檢查nvarchar列中的Guid值
- 12. 檢查有效圖像
- 13. 輸入有效性檢查
- 14. 有效檢查字符?
- 15. 數據有效性檢查
- 16. 檢查有效鏈接(URL)
- 17. 檢查有效輸入
- 18. python檢查html有效
- 19. 檢查cherrypy是否有效
- 20. 檢查BitmapData是否有效
- 21. 檢查有效的URL,URI的構建
- 22. 檢查兩個有效的URL和有效的域名
- 23. 檢查有效的電話號碼
- 24. 檢查的cookie仍然有效
- 25. 檢查有效的互聯網連接
- 26. 如何檢查CSS是有效的IE8
- 27. 檢查datetime的有效性嗎?
- 28. 檢查busybox中的有效號碼嗎?
- 29. 檢查域名有效性的Api
- 30. 檢查C++中的有效括號
文字括號需要轉義。例如,第二個子表達式應該是`| {({| \()[A-Fa-f0-9] {8} - ([A-Fa-f0-9] {4} - ){3} [ A-Fa-f0-9] {12}(} | \))?$`而不是`| ^({|()?[A-Fa-f0-9] {8} - ([A-Fa- f0-9] {4} - ){3} [A-發f0-9] {12}(} |))$`?。 – Heinzi 2012-02-21 09:24:38