문제

문자열이 vbscript의 유효한 안내인지를 어떻게 확인할 수 있습니까? isguid 방법을 쓴 사람이 있습니까?

도움이 되었습니까?

해결책

이것은와 유사합니다 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 생성자 중 하나의 소스 코드를보십시오.

다른 팁

이 기능은 클래식 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

vbscript에서는 Regexp 객체를 사용하여 일반 표현식을 사용하여 문자열과 일치 할 수 있습니다.

Techek의 기능은 Classic 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

다른 해결책이 있습니다.

try
{
  Guid g = new Guid(stringGuid);
  safeUseGuid(stringGuid); //this statement will execute only if guid is correct
}catch(Exception){}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top