Frage

Wie kann man überprüfen, ob eine Zeichenfolge eine gültige GUID in VBScript ist? Hat jemand eine IsGuid Methode geschrieben?

War es hilfreich?

Lösung

Dies ist vergleichbar mit dem gleiche Frage in c # . Hier ist die regex müssen Sie ...

^ [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} (}}) $

Aber das ist nur der Anfang. Sie müssen auch sicherstellen, dass die verschiedenen Teile wie Datum / Uhrzeit innerhalb akzeptabler Bereiche. Um eine Vorstellung von nur zu erhalten, wie komplex es ist für eine gültige GUID zu testen, Blick auf den Quellcode für eine der Guid Bauer.

Andere Tipps

Diese Funktion ist im klassischen ASP arbeitet:

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

Siehe eine GUID überprüfen.

In VBScript können Sie das RegExp-Objekt verwenden, um die Zeichenfolge mit regulären Ausdrücken entsprechen.

Techek die Funktion nicht für mich arbeiten im klassischen ASP (VBScript). Es ist immer wahr aus irgendeinem Grund zurückgebracht werden. Mit ein paar kleinen Änderungen hat es funktioniert. Siehe unten

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

gibt es eine andere Lösung:

try
{
  Guid g = new Guid(stringGuid);
  safeUseGuid(stringGuid); //this statement will execute only if guid is correct
}catch(Exception){}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top