Vbscript 检查有效的guid
如何在vbscript中检查字符串是否为有效的GUID?有人编写过IsGuid方法吗?在VBScript中,您可以使用RegExp对象使用正则表达式匹配字符串。这类似于。这是你需要的正则表达式 ^(A-Fa-F-F-F-F-F-F-F-F-F-F-F-F-F-F-F-F-F-F-F-F-F-F-F-F-F-F-F-F-F-F-F-F-F-F-F-F-F-0-0-0-0-0-7-7 7 7-7 7 7 7 7 7 7 7{{{3}[3}(A-A-A-A-A-A-F-F-F-F-F-F-F-F-F-F-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-7-7-7 7 7 7 7 7 7-7 7-7-7 7 7 7-7 7 7 7 7 7 7 7 7 7-7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7}[0xA-Fa-f0-9]{3,4}(})$Vbscript 检查有效的guid,vbscript,guid,Vbscript,Guid,如何在vbscript中检查字符串是否为有效的GUID?有人编写过IsGuid方法吗?在VBScript中,您可以使用RegExp对象使用正则表达式匹配字符串。这类似于。这是你需要的正则表达式 ^(A-Fa-F-F-F-F-F-F-F-F-F-F-F-F-F-F-F-F-F-F-F-F-F-F-F-F-F-F-F-F-F-F-F-F-F-F-F-F-F-0-0-0-0-0-7-7 7 7-7 7 7 7 7 7 7 7{{{3}[3}(A-A-A-A-A-A-F-F-F-F-F-F-F-F-F-
但这只是开始。您还必须验证日期/时间等各个部分是否在可接受的范围内。要了解测试有效GUID有多复杂,请查看其中一个GUID构造函数的源代码。还有另一种解决方案:
try
{
Guid g = new Guid(stringGuid);
safeUseGuid(stringGuid); //this statement will execute only if guid is correct
}catch(Exception){}
Techek的函数在经典ASP(vbScript)中对我不起作用。由于某种奇怪的原因,它总是返回真的。只做了一些小改动,它就成功了。见下文
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
文字括号需要转义。例如,第二个子表达式应该是
|{({124;\()){8}-([A-Fa-f0-9]{4}-{3}[A-Fa-f0-9]{12}(}{124;\)?$
,而不是|{code>({A-Fa-f0-9]{8}-([A-Fa f0-f0-9]{4}-9]{3}-Fa 12}-{12})。