2

文字列が vbscript で有効な GUID かどうかを確認するにはどうすればよいですか? IsGuid メソッドを書いた人はいますか?

4

5 に答える 5

3

この関数は従来の 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
于 2012-09-07T14:23:36.243 に答える
2

これは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 コンストラクターの 1 つのソース コードを見てください。

于 2008-09-25T14:04:51.870 に答える
1

VBScript では、RegExp オブジェクトを使用して、正規表現を使用して文字列を照合できます。

于 2008-09-25T14:02:49.660 に答える
0

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
于 2011-05-19T11:58:35.937 に答える