프로그램 코드
<%
'********************************
'클래스 이름:
'이름 : 종합도서관
'날짜: 2008/10/28
'저자: 작성자: xilou
'웹사이트: http://www.chinacms.org
'설명: 일반도서관
'저작권: 전재시 출처와 작성자를 명시해주세요.
'********************************
'최종 수정 날짜: 20090108
'수정 횟수: 2
'수정 설명:
'20090108 다음 기능을 추가합니다.
' A2U(),U2A(),UrlEncode(),UrlDecode(),GBToUTF8(),Bytes2Str(),Str2Bytes()
'20090108 다음 기능을 추가합니다.
'AryToVbsString(arr)
'현재 버전:
'********************************/
'출력
서브 에코(str)
응답.쓰기 str
End Sub
'중단점
하위 정지()
응답.끝()
End Sub
'출력 및 랩핑
하위Br(str)
에코 str & "<br />" & vbcrlf
End Sub
'Request.Form() 단순화
'f : 양식 이름
함수 P(f)
P = 바꾸기(Request.Form(f), Chr(0), "")
End Function
'양식을 받아 작은따옴표 바꾸기
함수 Pr(f)
Pr = 바꾸기(Request.Form(f), Chr(0), "")
Pr = 바꾸기(Pr, "'", "''")
끝 함수
'Request.Querystring() 단순화
'f : 양식 이름
함수G(f)
G = 바꾸기(Request.QueryString(f), Chr(0), "")
End Function
'URL 매개변수를 수신하고 작은따옴표 바꾸기
함수Gr(f)
Gr = 바꾸기(Request.QueryString(f), Chr(0), "")
Gr = 바꾸기(Gr, "'", "''")
End Function
'//Construction()?:xilou www.chinacms.org 의 삼항 연산
'ifThen은 true인 경우 s1을 반환하고 false인 경우 s2를 반환합니다.
함수 IfThen(ifTrue, s1, s2)
희미하다
ifTrue이면
t = s1
또 다른
티 = s2
종료 조건
IfThen = t
End Function
'예, 아니오를 다른 색상으로 표시합니다.
함수 IfThenFont(ifTrue, s1, s2)
Dimstr
ifTrue이면
str = "<font color=""#006600"">" & s1 & "</font>"
또 다른
str = "<font color=""#FF0000"">" & s2 & "</font>"
종료 조건
IfThenFont = str
End Function
'사전 객체 생성
함수 NewHashTable()
NewHashTable = Server.CreateObj("Scripting.Dictionary") 설정
NewHashTable.CompareMode = 1 '키 값은 대소문자를 구분하지 않습니다.
종료 함수
'XmlHttp 생성
함수 NewXmlHttp()
NewXmlHttp = Server.createobject("MSXML2.XMLHTTP") 설정
종료 함수
'XmlDom 생성
함수 NewXmlDom()
종료 기능
'AdoStream 생성
함수 NewAdoStream()
NewAdoStream = Server.CreateObject("Adodb.Stream") 설정
End Function
'1차원 배열 생성
'n개의 요소로 구성된 빈 배열을 반환합니다.
'n: 요소의 개수
함수NewArray(n)
Dim ary : ary = array()
재정의(n-1)
NewArray = ary
종료 함수
'Construct Try..Catch
하위 시도()
오류 발생 시 다음 재개
End Sub
'시도해 보세요..캐치 구성
'msg: 오류 메시지가 표시됩니다. 비어 있으면 Err.Description이 표시됩니다.
하위 캐치(msg)
희미한 HTML
html = "<ul><li>$1</li></ul>"
오류가 발생한 경우
만약 msg <> ""라면
echo 바꾸기(html, "$1", msg)
정지
또 다른
echo 바꾸기(html, "$1", Err.Description)
정지
종료 조건
Err.Clear
응답.끝()
종료 조건
End Sub
'--------------------------------배열 작업이 시작됩니다.
'배열에 특정 값이 존재하는지 확인
함수 InArray(arr, s)
IsArray(arr)가 아닌 경우 InArray = False: 함수 종료
나는 어둡다
i = LBound(arr)에서 UBound(arr)로
If s = arr(i) Then InArray = True: 함수 종료
다음
InArray = 거짓
End Function
'str의 자리 표시자를 ary 배열의 값으로 바꿉니다.
'교체된 문자열을 반환
'str: 교체할 문자열, 자리 표시자는 $0, $1, $2...입니다.
'ary: 교체에 사용되는 배열, 각 값은 자리 표시자의 $0, $1, $2...에 해당합니다.
'예: RecreByAry("$0-$1-$2 $3:$4:$5",Array(y,m,d,h,i,s))
함수 바꾸기ByAry(str,ary)
Dim i, j, L1, L2 : j = 0
IsArray(ary)이면
L1 = LBound(ary) : L2 = UBound(ary)
i = L1에서 L2로
str = 바꾸기(str, "$"&j, ary(i))
j = j+1
다음
종료 조건
바꾸기ByAry = str
기능 종료
'------------------배열 작업이 종료됩니다.
'--------------- --- ---------------난수 연산이 시작됩니다
'난수를 얻습니다.
난 임의의 숫자야
함수 RndNumber(m,n)
무작위화
RndNumber = Int((n - m + 1) * Rnd + m)
End Function
'무작위 문자열 가져오기
'n : 생성된 길이
함수 RndText(n)
희미한 str1, str2, i, x, L
str1 = "NOPQRSTUVWXYZ012ABCDEFGHIJKLM3456abcdefghijklm789nopqrstuvwxyz"
L = 렌(str1)
무작위화
i = 1에서 n의 경우
x = Int((L - 1 + 1) * Rnd + 1)
str2 = str2 & 중간(str1,x,1)
다음
RndText = str2
End Function
'문자열 str에서 m~n개의 임의 문자열을 생성합니다.
'str이 비어 있으면 기본적으로 숫자와 문자에서 임의의 문자열이 생성됩니다.
'str : 이 문자열에서 임의의 문자열을 생성하려면
'm,n: n ~ m 비트 생성
함수 RndByText(str, m, n)
희미한 i, k, str2, L, x
str = ""이면 str = "NOPQRSTUVWXYZ012ABCDEFGHIJKLM3456abcdefghijklm789nopqrstuvwxyz"
L = 길이(str)
n = m이면
k = n
또 다른
무작위화
k = Int((n - m + 1) * Rnd + m)
종료 조건
무작위화
i = 1에서 k로
x = Int((L - 1 + 1) * Rnd + 1)
str2 = str2 & Mid(str, x, 1)
다음
RndByText = str2
End Function
'날짜와 시간은 난수를 형성합니다.
'현재 시간의 숫자 조합을 반환
함수 RndByDateTime()
희미한 dt : dt = Now()
RndByDateTime = 연(dt) & 월(dt) & 일(dt) & 시(dt) & 분(dt) & 초(dt)
기능 종료
'----------------난수 연산 종료
'--------------- ------ -------문자열 작업이 시작됩니다.
'문자열 str2가 다른 문자열 str1에 나타나는 횟수를 결정합니다.
'횟수를 반환하고, 그렇지 않으면 0을 반환
'str1: 검색을 허용하는 문자열 표현식
'str2: 검색할 문자열 표현식
'start: 검색할 시작 위치가 비어 있으면 기본적으로 1부터 시작함을 의미합니다.
함수 InStrTimes(str1, str2, 시작)
희미한 a,c
start = ""이면 start = 1
c = 0
a = InStr(시작, str1, str2)
a > 0인 동안 수행
c = c + 1
a = InStr(a+1, str1, str2)
고리
InStrTimes = c
End Function
'문자열 연결
'돌아올 수 없어
'strResult: 연결 후 저장된 문자
'str : 연결할 문자
'파티션: 연결 문자 사이의 분리 기호
하위 JoinStr(byref strResult,str,partition)
strResult <> ""이면
strResult = strResult & 파티션 & str
또 다른
strResult = str
종료 조건
End Sub
'문자열의 바이트 길이를 계산합니다. 한자 = 2바이트
함수StrLen(str)
isNull(str) 또는 Str = ""인 경우
강도 = 0
종료 기능
종료 조건
희미한 WINNT_CHINESE
WINNT_CHINESE = (len("예제")=2)
WINNT_CHINESE인 경우
희미한 l,t,c
나는 어둡다
l = 길이(str)
t = l
i = 1에 대해 l
c = asc(mid(str,i,1))
c<0이면 c = c + 65536
c>255이면 t = t + 1
다음
StrLen = t
또 다른
StrLen = 길이(str)
종료 조건
End Function
'가로채기 문자열
'str: 가로챌 문자열
'strlen: 차단할 길이
' addStr: 다음과 같이 길이를 초과하는 경우 대신 이것을 사용하십시오:...
함수 CutStr(str, strlen, addStr)
어둡게 나,l,t,c
If Is_Empty(str) Then CutStr = "" : 함수 종료
l = len(str) : t = 0
i = 1에 대해 l
c = Abs(Asc(Mid(str,i,1)))
c > 255이면
티=티+2
또 다른
티=티+1
종료 조건
t > strlen이면
CutStr = left(str, i) & addStr
종료 대상
또 다른
CutStr = str
종료 조건
다음
End Function
'전각을 반각으로 변환
함수 SBCcaseConvert(str)
희미한 b, c, i
b = "1,2,3,4,5,6,7,8,9,0," _
&"A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X, Y,Z"
c = "1,2,3,4,5,6,7,8,9,0," _
&"A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X, 와이,지"
b = 분할(b,",")
c = 분할(c,",")
i = 0인 경우 Ubound(b)로
instr(str,b(i)) > 0이면
str = 바꾸기(str, b(i), c(i))
종료 조건
다음
SBCcaseConvert = str
End Function
'은 자바스크립트의 escape()과 동일합니다.
함수 VbsEscape(str)
디미,s,c,a
s = ""
i=1에서 Len(str)까지
c = 중간(str,i,1)
a = ASCW(c)
(a>=48 및 a<=57) 또는 (a>=65 및 a<=90) 또는 (a>=97 및 a<=122) 그러면
s = s&c
ElseIf InStr("@*_+-./",c) > 0 Then
s = s&c
ElseIf a>0 및 a<16 그러면
s = s & "%0" & 16진수(a)
ElseIf a>=16 및 a<256 그러면
s = s & "%" & 16진수(a)
또 다른
s = s & "%u" & 16진수(a)
종료 조건
다음
VbsEscape=s
End Function
'javascript에서 escape()를 사용하여 인코딩된 데이터를 디코딩하고 ajax를 호출할 때 사용됩니다.
함수 VbsUnEscape(str)
희미한 x
x = InStr(str,"%")
x > 0일 때 수행
VbsUnEscape = VbsUnEscape & Mid(str,1,x-1)
LCase(Mid(str,x+1,1)) = "u"이면 다음과 같습니다.
VbsUnEscape = VbsUnEscape & ChrW(CLng("&H"&Mid(str,x+2,4)))
str = 중간(str,x+6)
또 다른
VbsUnEscape = VbsUnEscape & Chr(CLng("&H"&Mid(str,x+1,2)))
str = 중간(str,x+3)
종료 조건
x = InStr(str,"%")
고리
VbsUnEscape = VbsUnEscape & str
기능 종료
'ASCII 문자를 유니코드 인코딩 형식으로 변환
함수 A2U(str)
i,L,uText 어둡게 하기
L = 길이(str)
i = 1에서 L로
uText = uText & "&#" & AscW(Mid(str,i,1)) & ";"
다음
A2U = u텍스트
End Function
'유니코드 인코딩을 ASCII로 변환
'str: 트랜스코딩할 문자열은 모두 유니코드 문자여야 합니다. 그렇지 않으면 오류가 발생합니다.
기능 U2A(str)
Dimary,i,L,newStr
ary = 분할(str,";")
L = UBound(ary)
i = 0에서 L - 1로
newStr = newStr & ChrW(Replace(ary(i),"&#",""))
다음
U2A = 새로운Str
기능 종료
'URL 인코딩
함수 UrlEncode(str)
UrlEncode = Server.UrlEncode(str)
종료 기능
'url 디코딩
함수UrlDecode(str)
Dim newstr, havechar, lastchar, i, char_c, next_1_c, next_1_Num
newstr = ""
가지고 있는 문자 = 거짓
마지막 문자 = ""
i = 1에서 Len(str)으로
char_c = 중간(str,i,1)
char_c = "+"이면
newstr = newstr & " "
ElseIf char_c = "%" 그러면
next_1_c = 중간(str, i+1, 2)
next_1_num = Cint("&H" & next_1_c)
만약 문자가 있다면
가지고 있는 문자 = 거짓
newstr = newstr & Chr(CInt("&H" & lastchar & next_1_c))
또 다른
Abs(next_1_num) <= 127이면
newstr = newstr & Chr(next_1_num)
또 다른
가지고 있는 문자 = 사실
마지막 문자 = next_1_c
종료 조건
종료 조건
나는 = 나는 + 2
또 다른
newstr = newstr & char_c
종료 조건
다음
UrlDecode = 새로운 문자열
기능 종료
'GB에서 UTF8로--GB로 인코딩된 텍스트를 UTF8로 인코딩된 텍스트로 변환합니다.
기능 GBToUTF8(gbStr)
희미한 wch,uch,szRet,szInput
희미한 x
희미한 nAsc, nAsc2, nAsc3
szInput = gbStr
'입력 매개변수가 비어 있으면 함수를 종료합니다.
szInput = ""인 경우 다음
toUTF8 = sz입력
종료 기능
종료 조건
'변환 시작
x = 1의 경우 Len(szInput)으로
'mid 함수를 사용하여 GB로 인코딩된 텍스트를 분할합니다.
wch = 중간(szInput, x, 1)
'ascW 함수를 사용하여 각 GB 인코딩된 텍스트의 유니코드 문자 코드를 반환합니다.
'참고: asc 함수는 ANSI 문자 코드를 반환합니다. 차이점에 주의하세요.
nAsc = AscW(wch)
nAsc < 0이면 nAsc = nAsc + 65536
(nAsc And &HFF80) = 0이면
szRet = szRet & wch
또 다른
(nAsc 및 &HF000) = 0인 경우
uch = "%" & Hex(((nAsc 2 ^ 6)) 또는 &HC0) & Hex(nAsc And &H3F 또는 &H80)
szRet = szRet(&U)
또 다른
'GB로 인코딩된 텍스트의 유니코드 문자 코드는 0800 - FFFF 사이의 3바이트 템플릿을 채택합니다.
uch = "%" & Hex((nAsc 2 ^ 12) 또는 &HE0) & "%" & _
Hex((nAsc 2 ^ 6) 및 &H3F 또는 &H80) & "%" & _
16진수(nAsc 및 &H3F 또는 &H80)
szRet = szRet(&U)
종료 조건
종료 조건
다음
GBToUTF8 = szRet
기능 종료
'바이트 스트림에서 Char 스트림으로 변환
함수 Bytes2Str(vin,charset)
희미한 ms,strRet
Set ms = Server.CreateObject("ADODB.Stream") '스트림 객체 생성
ms.Type = 1 '바이너리
ms.열기
ms.Write vin '스트림 개체에 vin을 씁니다.
ms.Position = 0 'Charset 속성을 설정하려면 스트림 개체의 시작 위치를 0으로 설정합니다.
ms.Type = 2 '텍스트
ms.Charset = charset '스트림 개체의 인코딩 모드를 charset으로 설정합니다.
strRet = ms.ReadText '문자 스트림을 가져옵니다.
ms.close '스트림 개체를 닫습니다.
ms = 없음으로 설정
Bytes2Str = strRet
기능 종료
'Char 스트림을 바이트 스트림으로 변환
함수 Str2Bytes(str,charset)
희미한 ms,strRet
Set ms = CreateObject("ADODB.Stream") '스트림 객체 생성
ms.Type = 2 '텍스트
ms.Charset = charset '스트림 개체의 인코딩 모드를 charset으로 설정합니다.
ms.열기
ms.WriteText str '스트림 객체에 str을 씁니다.
ms.Position = 0 'Charset 속성을 설정하려면 스트림 개체의 시작 위치를 0으로 설정합니다.
ms.Type = 1 '바이너리
vout = ms.Read(ms.Size) '문자 스트림 가져오기
ms.close '스트림 개체를 닫습니다.
ms = 없음으로 설정
Str2Bytes = vout
기능 종료
'------문자열 작업이 종료됩니다
. '------------- -------- -------시간 및 날짜 작동이 시작됩니다.
'연도와 월을 기준으로 해당 달의 일수를 구합니다.
'일수를 반환합니다.
'y: 연도(예: 2008)
오전: 월(예: 3)
함수 GetDayCount(y,m)
희미한 c
케이스 m 선택
사례 1, 3, 5, 7, 8, 10, 12
c=31
사례 2
If IsDate(y&"-"&m&"-"&"29") 그러면
c=29
또 다른
c=28
종료 조건
그렇지 않은 경우
c=30
선택 종료
GetDayCount = c
End 함수
'날짜와 시간이 비교 양 끝의 시간을 포함하여 특정 기간 사이에 있는지 확인합니다.
함수 IsBetweenTime(fromTime,toTime,strTime)
DateDiff("s",fromTime,strTime) >= 0 및 DateDiff("s",toTime,strTime) <= 0이면
IsBetweenTime = 참
또 다른
IsBetweenTime = 거짓
종료 조건
기능 종료
'-------------------시간 및 날짜 작업이 종료됩니다.
'------------ ---------- -------보안 암호화 관련 작업이 시작됩니다.
'----------------보안 암호화 관련 작업 종료
'------------ ---- -----------------데이터 적법성 검증 작업이 시작됩니다.
'정규식을 통해 문자열을 감지하고 true|false를 반환합니다.
함수 RegExpTest(strPatrn,strText)
희미한 objRegExp, 일치
objRegExp = 새 RegExp 설정
objRegExp.Pattern = strPatrn
objRegExp.IgnoreCase = 거짓
objRegExp.Global = 참
RegExpTest = objRegExp.Test(strText)
'일치 설정 = objRegExp.Execute(strText)
objRegExp = 아무것도 설정하지 않음
End Function
'양의 정수인가요?
FunctionIsPint(str)
IsPint = RegExpTest("^[1-9]{1}d*$", str)
End Function
'0인지 양의 정수인지
FunctionIsInt(str)
IsInt = RegExpTest("^0|([1-9]{1}d*)$", str)
기능 종료
'이메일
FunctionIsEmail(str)
희미한 패턴
패턴 = "^w+((-w+)|(.w+))*@[A-Za-z0-9]+((.|-)[A-Za-z0-9]+ )*.[A-Za-z0-9]+$"
IsEmail = RegExpTest(patrn,str)
기능 종료
'휴대폰
FunctionIsMobile(str)
희미한 패턴
패턴 = "^(130|131|132|133|153|134|135|136|137|138|139|158|159){1}d{8}$"
IsMobile = RegExpTest(patrn,str)
기능 종료
'QQ
함수IsQQ(str)
희미한 패턴
패턴 = "^[1-9]d{4,8}$"
IsQQ = RegExpTest(patrn,str)
기능 종료
'신분증
FunctionIsIdCard(e)
Dim arrVerifyCode,Wi,Checker
arrVerifyCode = 분할("1,0,x,9,8,7,6,5,4,3,2", ",")
Wi = 분할("7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2", ",")
검사기 = 분할("1,9,8,7,6,5,4,3,2,1,1", ",")
Len(e) < 15 또는 Len(e) = 16 또는 Len(e) = 17 또는 Len(e) > 18이면
IsIdCard = 거짓
종료 기능
종료 조건
희미한 A
Len(e) = 18이면
Ai = Mid(e, 1, 17)
ElseIf Len(e) = 15 그러면
아이=e
Ai = 왼쪽(Ai, 6) & "19" & 중간(Ai, 7, 9)
종료 조건
IsNumeric(Ai)이 아닌 경우
IsIdCard= 거짓
종료 기능
종료 조건
희미한 strYear, strMonth, strDay, BirthDay
strYear = CInt(중간(Ai, 7, 4))
strMonth = CInt(Mid(Ai, 11, 2))
strDay = CInt(Mid(Ai, 13, 2))
BirthDay = Trim(strYear) + "-" + Trim(strMonth) + "-" + Trim(strDay)
IsDate(생년월일)이면
DateDiff("yyyy",Now,BirthDay)<-140 또는 cdate(BirthDay)>date() 그러면
IsIdCard= 거짓
종료 기능
종료 조건
strMonth > 12 또는 strDay > 31이면
IsIdCard= 거짓
종료 기능
종료 조건
또 다른
IsIdCard= 거짓
종료 기능
종료 조건
Dim i,TotalmulAiWi
i = 0 ~ 16의 경우
TotalmulAiWi = TotalmulAiWi + CInt(Mid(Ai, i + 1, 1)) * Wi(i)
다음
희미한 모드값
modValue = TotalmulAiWi Mod 11
희미한 strVerifyCode
strVerifyCode = arrVerifyCode(modValue)
Ai = Ai & strVerifyCode
IsIdCard = AI
Len(e) = 18이고 e <> Ai이면
IsIdCard= 거짓
종료 기능
종료 조건
IsIdCard=참
기능 종료
'우편번호
함수 IsZipCode(str)
희미한 패턴
패턴 = "^[1-9]d{2,5}$"
IsZipCode = RegExpTest(patrn,str)
기능 종료
'IsEmpty(), IsNull(), ""의 함수를 포함하여 비어 있는지 여부
함수 Is_Empty(str)
IsNull(str) 또는 IsEmpty(str) 또는 str=""인 경우
Is_Empty=참
또 다른
비어 있음=거짓
종료 조건
기능 종료
'------데이터 유효성 검증 작업이 종료됩니다.
'--------- -- --------파일 작업이 시작됩니다
'jpg와 같은 파일 접미사를 가져옵니다.
함수 GetFileExt(f)
GetFileExt = Lcase(Mid(f,InStrRev(f,".") + 1))
기능 종료
'폴더 생성
'path: 생성할 폴더의 경로, 상대 경로 사용
하위 폴더(경로)
희미한 fso
fso = Server.CreateObject("Scripting.FileSystemObject") 설정
fso.FolderExists(path)가 아닌 경우
fso.CreateFolder(경로)
종료 조건
fso = 없음 설정
End Sub
'폴더 삭제
'path: 폴더 경로, 상대 경로 사용
하위폴더(경로)
희미한 fso
fso = Server.CreateObject("Scripting.FileSystemObject") 설정
fso.FolderExists(path)인 경우
fso.DeleteFolder 경로, 참
또 다른
echo "경로가 존재하지 않습니다:" & path
종료 조건
fso = 없음 설정
End Sub
'파일 생성
'path: 이름을 포함한 파일 경로를 생성합니다.
'strText: 파일 내용
하위 CFile(경로,strText)
희미한 f, fso
fso = Server.CreateObject("Scripting.FileSystemObject") 설정
f = fso.CreateTextFile(경로) 설정
f.strText 쓰기
f = 없음으로 설정
fso = 없음 설정
End Sub
'파일 삭제
'path: 이름을 포함한 파일 경로
하위 파일(경로)
희미한 fso
fso = Server.CreateObject("Scripting.FileSystemObject") 설정
fso.FileExists(path)인 경우
Fso.삭제파일(경로)
종료 조건
fso = 없음 설정
End Sub
'수집하다
함수 GetHTTPPage(url)
'Http.setTimeouts 10000,10000,10000,10000
'오류 발생 시 다음 재개
희미한 HTTP
Http = Server.createobject("MSXML2.XMLHTTP") 설정
Http.open "GET", URL, false
Http.send()
Http.Status <> 200이면
종료 기능
종료 조건
'에러가 발생하면 Response.Write url : Response.End()
GetHTTPPage = bytesToBSTR(Http.ResponseBody,"GB2312")
'Http.Close()
'err.number<>0이면 err.Clear
종료 기능
'인코딩 변환
함수 BytesToBstr(body,Cset)
DimStreamObj
StreamObj = Server.CreateObject("Adodb.Stream") 설정
StreamObj.Type = 1
StreamObj.Mode = 3
StreamObj.Open
StreamObj.Write 본문
StreamObj.Position = 0
StreamObj.Type = 2
StreamObj.Charset = Cset
BytesToBstr = StreamObj.ReadText
StreamObj.Close
기능 종료
'------파일 작업이 종료됩니다
. '------------- -----다른 작업이 시작됩니다
'정보 표시
'message: 표시할 메시지
'url: 이동할 URL
'typeNum: 표시 모드, 1 정보 팝업 및 이전 페이지로 돌아가기 2 정보 팝업 및 해당 URL로 이동;
Sub ShowMsg(메시지,URL,typeNum)
메시지 = 교체(메시지,"'","'")
케이스 유형 선택 번호
사례 1
echo ("<script 언어=javascript>alert('" & 메시지 & "');history.go(-1)</script>")
사례 2
echo ("<script 언어=javascript>alert('" & 메시지 & "');location='" & Url &"'</script>")
선택 종료
End Sub
'표시 옵션 목록 및 위치, by xilou www.chinacms.org
'textArr: 텍스트 배열
'valueArr: 값 배열
'curValue: 현재 선택된 값
함수 ShowOpList(textArr, valueArr, curValue)
희미한 str, 스타일, i
스타일 = "style=""배경색:#FFCCCC"""
str = ""
IsNull(curValue)이면 curValue = ""
I = LBound(textArr)에서 UBound(valueArr)로
Cstr(valueArr(I)) = Cstr(curValue)이면
str = str&"<option value="""&valueArr(I)&""" selected=""selected"" "&style&" >"&textArr(I)&"</option>"&vbcrlf
또 다른
str = str&"<option value="""&valueArr(I)&""" >"&textArr(I)&"</option>"&vbcrlf
종료 조건
다음
ShowOpList = str
End Function
'다중 선택 목록
'참고: InArray() 함수를 사용해야 합니다.
'textArr: 텍스트 배열
'valueArr: 값 배열
'curValue: 현재 선택된 값 배열
함수 ShowMultiOpList(textArr,valueArr,curValueArr)
희미한 스타일, str, isCurr, I
스타일 = "style=""배경색:#FFCCCC"""
str = "" : isCurr = 거짓
IsNull(curValue)이면 curValue = ""
I = LBound(textArr)에서 UBound(valueArr)로
InArray(curValueArr, valueArr(I)) 그러면
str = str&"<option value="""&valueArr(I)&""" selected=""selected"" "&style&" >"&textArr(I)&"</option>"&vbcrlf
또 다른
str = str&"<option value="""&valueArr(I)&""" >"&textArr(I)&"</option>"&vbcrlf
종료 조건
다음
ShowMultiOpList = str
기능 종료
함수 GetIP()
Dim strIPAddr,actforip
Request.ServerVariables("HTTP_X_FORWARDED_FOR") = "" 또는 InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), "unknown") > 0이면
strIPAddr = Request.ServerVariables("REMOTE_ADDR")
ElseIf InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ",") > 0 Then
strIPAddr = Mid(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), 1, InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ",")-1)
ElseIf InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ";") > 0 Then
strIPAddr = Mid(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), 1, InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ";")-1)
또 다른
strIPAddr = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
종료 조건
GetIP = strIPAddr
기능 종료
'배열을 사전 객체 저장소로 변환
'hashObj: 사전 개체
'ary: 배열, 형식은 다음 두 가지 중 하나여야 합니다. 첫 번째는 문자열 값만 저장할 수 있습니다.
' : array("Id:12","UserName:xilou","Sex:1"), 즉 array("key:value",...) 형식입니다.
' : array(array("Id","12"),array("사용자 이름","xilou"),array("섹스","1"))
'사전 객체를 반환합니다.
'www.chinacms.org
하위 AryAddToHashTable(ByRef hashObj,ary)
희미한 str,ht,i,k,v,pos
i = 0에서 UBound(ary)로
IsArray(ary(i)) 그렇다면
IsObject(ary(i)(0)) 그렇다면
Response.Write "오류:AryToHashTable(ary), 키 값은 개체 유형이 될 수 없습니다."
Response.Write "현재 ary("& i &")(0) 값 유형은 다음과 같습니다:" & TypeName(ary(i)(0))
응답.끝()
종료 조건
If IsObject(ary(i)(1)) Then '값이 객체인 경우
hashObj(ary(i)(0)) = ary(i)(1) 설정
또 다른
hashObj(ary(i)(0)) = ary(i)(1)
종료 조건
또 다른
str = ary(i) & ""
pos = InStr(str,":")
'www.chinacms.org
pos < 1이면
Response.Write "오류:AryToHashTable(ary),"":""존재하지 않음"
Response.Write ",Occurs at:" & ary(i)
응답.끝()
종료 조건
pos = 1이면
Response.Write "오류:AryToHashTable(ary), 키 값이 존재하지 않습니다."
Response.Write ",Occurs at:" & ary(i)
응답.끝()
종료 조건
k = 왼쪽(str,pos-1)
v = 중간(str,pos+1)
hashObj(k) = v
종료 조건
다음
End Sub
'배열을 사전 객체 저장소로 변환
'ary: 배열, 형식은 다음 두 가지 중 하나여야 합니다. 첫 번째는 문자열 값만 저장할 수 있습니다.
' : array("Id:12","UserName:xilou","Sex:1"), 즉 array("key:value",...) 형식입니다.
' : array(array("Id","12"),array("사용자 이름","xilou"),array("섹스","1"))
'사전 객체를 반환합니다.
함수 AryToHashTable(ary)
희미한 str,ht,i,k,v,pos
ht = Server.CreateObject("Scripting.Dictionary")를 설정합니다.
ht.CompareMode = 1
AryAddToHashTable ht, ary
AryToHashTable = ht로 설정
End Function
'배열을 문자열로 변환합니다. 이는 배열을 직렬화하는 것과 동일합니다. 허용되는 형식은 다음과 같습니다.
'배열("p1:v1","p2:v2",배열("p3",true))
'문자열을 반환
함수 AryToVbsString(arr)
희미한 str,i,c
IsArray(arr)가 아닌 경우 Response.Write "오류: AryToString(arr) 오류, 매개변수 arr이 배열이 아닙니다."
c = U바운드(arr)
i = 0에서 c로
IsArray(arr(i))이면
사례 선택 Lcase(TypeName(arr(i)(1)))
대소문자 "날짜", "문자열", "비어있음"
str = str & ",array(""" & arr(i)(0) & ""","""& arr(i)(1) &""")"
대소문자 "정수", "긴", "단일", "이중", "통화", "십진수", "부울"
str = str & ",array(""" & arr(i)(0) & ""","& arr(i)(1) &")"
케이스 "null"
str = str & ",array(""" & arr(i)(0) & """,null)"
그렇지 않은 경우
Response.Write "오류: AryToVbsString(arr), 매개변수에 잘못된 데이터가 포함되어 있습니다. 인덱스 i="&i&", 키 값: "&arr(i)(0)
응답.끝()
선택 종료
또 다른
str = str & ",""" & arr(i) & """"
종료 조건
다음
str <> ""이면 str = Mid(str, 2, Len(str) - 1)
str = "배열(" & str & ")"
AryToVbsString = str
기능 종료
'--------------------------------다른 작업 종료
%>