문제
문자열이 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){}
제휴하지 않습니다 StackOverflow