检查有效的GUID

时间:2020-03-06 14:43:19  来源:igfitidea点击:

如何检查字符串在vbscript中是否为有效的GUID?有人写过IsGuid方法吗?

解决方案

请参阅检查GUID。

在VBScript中,可以使用RegExp对象使用正则表达式来匹配字符串。

这类似于c#中的相同问题。这是我们需要的正则表达式...

^ [A-Fa-f0-9] {32} $ | ^({|()?[A-Fa-f0-9] {8}-([A-Fa-f0-9] {4}-) {3} [A-Fa-f0-9] {12}(} |))?$ | ^({)?[0xA-Fa-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构造函数的源代码。

还有另一种解决方案:

try
{
  Guid g = new Guid(stringGuid);
  safeUseGuid(stringGuid); //this statement will execute only if guid is correct
}catch(Exception){}