인터넷에서 동적으로 생성 된 양식 검증 자바 스크립트 코드를 사용하여 직접 확장했습니다. 나는 저자의 이름을 잊어 버렸지 만 제 1 조까지의 코드는 모두 저자의 독창적 인 작품이라는 것을 분명히 기억합니다. 9 ~ 15 조에 관해서는, 나는 그것을 직접 추가했다. 또한 제한 수준으로 인해 제 9 조에서 제 15 조까지 제한된 수준이 적용되지 않을 수 있습니까? 하하, 실제로이 작은 트릭을 사용할 수 있기 때문에 실제로 여기에 게시 할 필요가 없습니다. 나는 그 기능을 다음과 같이 배치했습니다. 개발 중에 기능을 찾을 수 없으면 여기에서 복사 할 수 있습니다. 하하, 버너 나 모바일 하드 드라이브가 없기 때문에. 이 코드를 당신과 함께 가지고 다닐 수있는 방법은 없지만 다행히도 베이징의 모든 곳에서 인터넷에 액세스 할 수 있습니다. 이것을 여기에 넣고 ctrl+c를 사용한 다음 ctrl+v를 사용하십시오.
<% '*************************************************************************************************************************** 누군가
'함수 이름 : checkform_js (frmname, errstr)
'기능 : ASP 메소드를 사용하여 동적으로 JavaScript Form Verification function checksubmit ()
'사용법 방법 : 1. <!-이 함수가 위치한 includefile = url+페이지>;
'2. <formoSubmit = "javaScript : returnCheckSubmit ()">;
'원래 저자는 잊혀졌습니다. 두 번째 개발 저자 : GUO.QM
'마지막 업데이트 : 2004
'*************************************************************************************************************************** 누군가
'돕다:
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
'· 입자 설명 :
'frmname : 양식 필드의 이름
'Errstr : "Num | 3 | 모델은 8 자리 이상이어야하지 않아야합니다 | 8, 이메일 | 5 | 올바른 이메일 형식을 입력하십시오", 여기.
'Num은 FIORN 필드 이름을 나타내고 3은 검증 매개 변수를 나타내고 8은 (선택 사항)보다 숫자 수를 나타냅니다.
'
'· 검증 매개 변수 목록 :
'0 : 필수 텍스트 유형
'1 : 필수 ListMenu 유형
'2 : 텍스트 유형이어야합니다
'3 : 지정된 숫자 수의 텍스트 유형이어야합니다.
'4 : 텍스트 유형은 지정된 숫자 수보다 커야합니다.
'5 : 텍스트 유형의 이메일이어야합니다
'6 : AZ 또는 0-9의 문자 여야합니다
'7 : 암호와 암호가 텍스트 유형과 같아야합니다.
'8 : 숫자로 시작하는 텍스트 유형이 아님을 확인하십시오.
'9 : 형식 10-888888의 텍스트 유형을 포함해야합니다
'10 : 중국어, 공간 및 기타 불법 문자를 포함 할 수없는 텍스트 유형, 즉 "_" "-"-"-"0-9 ""AZ "AZ"만 포함 할 수 있습니다.
'11 : 숫자와 "-"만 포함해야합니다.
'12 : 올바른 URL의 텍스트 유형이어야합니다
'13 : 지정된 숫자 텍스트 유형보다 작아야합니다.
'14 : HTML 태그를 포함하지 말아야 할 텍스트 유형
'15 : 선택 유형이 비활성화되어 있는지 확인하십시오. 형식을 선택해야합니다. 확인 된 양식 항목 | 15 | 프롬프트 정보 | 협회 항목 "
'참고 : 계단식 메뉴가 있으면 계단식 메뉴의 검증 프로세스를 마지막 검사에 넣으십시오! ! ! !
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
%>
<%
subcheckform_js (frmname, errstr)
Dimtmparr
디미
js의 DimstrShow '출력 문자열
'오류 목록을 가져 와서 배열을 만듭니다
tmparr = split (errstr, ",")
'쓰기 js
fori = 0toubound (tmparr)
ifi <> 0then
strshow = strshow & "else"& findjs (frmname, tmparr (i))
또 다른
strshow = strshow & findjs (frmname, tmparr (i))
endif
다음
'산출
strshow = "<scriptlanguage = javaScript>"& vbcrlf & _
"<!-"& vbcrlf & _
"// PowerByguoquanman2004"& vbcrlf & _
"functionchecksubmit ()"& vbcrlf & _
"{"& vbcrlf & _
"varemailreg =/^[_ a-z0-9]+@([_ a-z0-9]+/.)+[a-z0-9] {2,3} $/;"& vbcrlf & _
"varpwdreg =/[a-z0-9] $/;"& vbcrlf & _
"varuidbeginreg =/^[0-9]+[_ a-z0-9]/;"& vbcrlf & _
"varphonereg = // d {2}-/d {5}/;"& vbcrlf & _
"varphonedetailreg =/[^0-9/-]/;"& vbcrlf & _
"varuidreg =/[^a-za-z0-9 _/-]/;"& vbcrlf & _
"varhtmlreg =/<(.*)>.*<// 1>/;"& vbcrlf & _
"varre1 =/^http : /// [a-za-z] [a-za-z0-9/-]*[a-za-z]*/."& vbcrlf & _
"varre2 =/^http : /// [0-9] {1,5} [a-za-z]*[0-9]*/./;"& vbcrlf & _
"varre3 = //. {2,}/;"& vbcrlf & _
"varre4 = // : {2,}/;"& vbcrlf & _
"varre5 = /// {3,}/;"& vbcrlf & _
"varre6 = //,+/;"& vbcrlf & _
"varre7 = //!+/;"& vbcrlf & _
"varre8 = //@+/;"& vbcrlf & _
"varre9 = //#+/;"& vbcrlf & _
"varre10 = // $+/;"& vbcrlf & _
"varre11 = //^+/;"& vbcrlf & _
"varre12 = //*+/;"& vbcrlf & _
"varre13 = // |+/;"& vbcrlf & _
"varre14 = //. [A-Z0-9 _ & =? //]*[a-za-z0-9 /// ~] {2,} $/;
Strshow & _
"else"& vbcrlf & _
"returntrue;"& vbcrlf & _
"}"& vbcrlf & _
"//->"& vbcrlf & _
"</script>"
응답 .writesstrshow
Endsub
functionfindjs (frmname, errstr)
Dimtmparr
디미
'매개 변수 값
i = 0
'오류 목록을 가져 와서 배열을 만듭니다
tmparr = split (errstr, "|")
'출력 쿼리 조건
SelectCasetMparr (i+1)
"0" '에 필요한 텍스트 유형
findjs = "if ((문서."& frmname & "."& tmparr (i) & ". value) ==" "") "& vbcrlf & _
"{"& vbcrlf & _
"window.alert ( '"& tmparr (i+2) & "');"& vbcrlf & _
"문서"& frmname & "."& tmparr (i) & ". select ();"& vbcrlf & _
"문서."& frmname & "."& tmparr (i) & ". focus ();"& vbcrlf & _
"returnfalse;"& vbcrlf & _
"}"& vbcrlf
종료 기능
"1"케이스에 필요한 목록 메뉴 유형
findjs = "if ((문서."& frmname & "."& tmparr (i) & ". value) ==" "") "& vbcrlf & _
"{"& vbcrlf & _
"window.alert ( '"& tmparr (i+2) & "');"& vbcrlf & _
"문서."& frmname & "."& tmparr (i) & ". focus ();"& vbcrlf & _
"returnfalse;"& vbcrlf & _
"}"& vbcrlf
종료 기능
사례 "2" '는 숫자의 텍스트 유형이어야합니다.
findjs = "if (isnan (document."& frmname & "."& tmparr (i) & ". value)"& vbcrlf & _
"{"& vbcrlf & _
"window.alert ( '"& tmparr (i+2) & "');"& vbcrlf & _
"문서"& frmname & "."& tmparr (i) & ". select ();"& vbcrlf & _
"문서."& frmname & "."& tmparr (i) & ". focus ();"& vbcrlf & _
"returnfalse;"& vbcrlf & _
"}"& vbcrlf
종료 기능
CASE "3" '는 지정된 숫자 수의 텍스트 유형이어야합니다.
findjs = "if (document."& frmname & "."& tmparr (i) & ". value.length! ="& tmparr (i+3) & ")"& vbcrlf & _
"{"& vbcrlf & _
"window.alert ( '"& tmparr (i+2) & "');"& vbcrlf & _
"문서"& frmname & "."& tmparr (i) & ". select ();"& vbcrlf & _
"문서."& frmname & "."& tmparr (i) & ". focus ();"& vbcrlf & _
"returnfalse;"& vbcrlf & _
"}"& vbcrlf
종료 기능
CASE "4" '는 지정된 숫자 수의 텍스트 유형보다 커야합니다.
findjs = "if (document."& frmname & "."& tmparr (i) & ". value.length <"& tmparr (i+3) & ")"& vbcrlf & _
"{"& vbcrlf & _
"window.alert ( '"& tmparr (i+2) & "');"& vbcrlf & _
"문서"& frmname & "."& tmparr (i) & ". select ();"& vbcrlf & _
"문서."& frmname & "."& tmparr (i) & ". focus ();"& vbcrlf & _
"returnfalse;"& vbcrlf & _
"}"& vbcrlf
종료 기능
사례 "5" '는 텍스트 유형의 이메일이어야합니다
findjs = "if ((! emailreg.test (document."& frmname & "."& tmparr (i) & ". value)) && (문서.
"{"& vbcrlf & _
"window.alert ( '"& tmparr (i+2) & "');"& vbcrlf & _
"문서"& frmname & "."& tmparr (i) & ". select ();"& vbcrlf & _
"문서."& frmname & "."& tmparr (i) & ". focus ();"& vbcrlf & _
"returnfalse;"& vbcrlf & _
"}"& vbcrlf
종료 기능
"6" '는 AZ 또는 0-9의 문자 유형이어야합니다.
findjs = "if ((! pwdreg.test (문서"& frmname & "."& tmparr (i) & ". value)) && (문서."& frmname & "."& tmparr (i) & ". value! '))"& vbcrlf & _.
"{"& vbcrlf & _
"window.alert ( '"& tmparr (i+2) & "');"& vbcrlf & _
"문서"& frmname & "."& tmparr (i) & ". select ();"& vbcrlf & _
"문서."& frmname & "."& tmparr (i) & ". focus ();"& vbcrlf & _
"returnfalse;"& vbcrlf & _
"}"& vbcrlf
종료 기능
CASE "7" '는 비밀번호와 암호가 텍스트 유형과 동일해야 함을 확인합니다.
findjs = "if ((문서."& frmname & "." "& tmparr (i) &". value)! = (문서 "& frmname &". "& tmparr (i+3) &". value) "& vbcrlf & _.
"{"& vbcrlf & _
"window.alert ( '"& tmparr (i+2) & "');"& vbcrlf & _
"문서"& frmname & "."& tmparr (i) & ". select ();"& vbcrlf & _
"문서."& frmname & "."& tmparr (i) & ". focus ();"& vbcrlf & _
"returnfalse;"& vbcrlf & _
"}"& vbcrlf
종료 기능
CASE "8" '은 숫자로 시작하는 텍스트 유형을 확인합니다.
findjs = "if ((uidbeginreg.test (document."& frmname & "."& tmparr (i) & ". value)) && (문서."& frmname & "."& tmparr (i) & ". value! '))"& vbcrlf & _.
"{"& vbcrlf & _
"window.alert ( '"& tmparr (i+2) & "');"& vbcrlf & _
"문서"& frmname & "."& tmparr (i) & ". select ();"& vbcrlf & _
"문서."& frmname & "."& tmparr (i) & ". focus ();"& vbcrlf & _
"returnfalse;"& vbcrlf & _
"}"& vbcrlf
종료 기능
사례 "9" '는 전화 번호를 형식 10-101212로 확인합니다
findjs = "if ((! phonereg.test (document."& frmname & "."& tmparr (i) & ". value)) && (Document.
"{"& vbcrlf & _
"window.alert ( '"& tmparr (i+2) & "');"& vbcrlf & _
"문서"& frmname & "."& tmparr (i) & ". select ();"& vbcrlf & _
"문서."& frmname & "."& tmparr (i) & ". focus ();"& vbcrlf & _
"returnfalse;"& vbcrlf & _
"}"& vbcrlf
종료 기능
"10" '은 영어 문자와 "-", "_"을 포함한 텍스트 만 확인합니다. (즉, 중국어 및 기타 특수 문자는 포함되지 않습니다)
findjs = "if ((uidreg.test (document."& frmname & "."& tmparr (i) & ". value)) && (문서.
"{"& vbcrlf & _
"window.alert ( '"& tmparr (i+2) & "');"& vbcrlf & _
"문서"& frmname & "."& tmparr (i) & ". select ();"& vbcrlf & _
"문서."& frmname & "."& tmparr (i) & ". focus ();"& vbcrlf & _
"returnfalse;"& vbcrlf & _
"}"& vbcrlf
종료 기능
Case "11" '은 숫자와 "-"만 포함되어 있음을 확인합니다 (일반적으로 전화 번호 및 팩스에 사용됨)
findjs = "if ((phonedetailreg.test (문서"& frmname & "."& tmparr (i) & ". value)) && (문서."& frmname & "."& tmparr (i) & ". value! '))"& vbcrlf & _.
"{"& vbcrlf & _
"window.alert ( '"& tmparr (i+2) & "');"& vbcrlf & _
"문서"& frmname & "."& tmparr (i) & ". select ();"& vbcrlf & _
"문서."& frmname & "."& tmparr (i) & ". focus ();"& vbcrlf & _
"returnfalse;"& vbcrlf & _
"}"& vbcrlf
종료 기능
CASE "12" '는 유효한 URL인지 확인합니다!
findjs = "if (((! re1.test (문서.
"&& (문서."& frmname & "."& tmparr (i) & ". value! = '')) ||"& _
"(re3.test (document."& frmname & "." "& tmparr (i) &". value)) || (re4.test (문서. "& frmname &". "& tmparr (i) &". value) || "& _"& _.
"(re5.test (document."& frmname & "."& tmparr (i) & ". value)) || (re6.test (문서."& frmname & "."& tmparr (i) & ". value)) ||"& _ "& _."& _.
"(re7.test (문서."& frmname & "." "& tmparr (i) &". value)) || (re8.test (문서.
"(re9.test (document."& frmname & "."& tmparr (i) & ". value)) || (re10.test (문서."& frmname & "."& tmparr (i) & ". value) ||"& _. "& _."& _.
"(re11.test (문서."& frmname & "." "& tmparr (i) &". value)) || (re12.test (문서. "& frmname &". "& tmparr (i) &". value)) || "& _."& _.
"(re13.test (문서."& frmname & "." "& tmparr (i) &". value)) || (! re14.test (! re14.test.
"&& (문서."& frmname & "."& tmparr (i) & ". value! = ''))"& vbcrlf & _
"{"& vbcrlf & _
"window.alert ( '"& tmparr (i+2) & "');"& vbcrlf & _
"문서"& frmname & "."& tmparr (i) & ". select ();"& vbcrlf & _
"문서."& frmname & "."& tmparr (i) & ". focus ();"& vbcrlf & _
"returnfalse;"& vbcrlf & _
"}"& vbcrlf
종료 기능
CASE "13" '은 텍스트 유형이 고정 숫자 수보다 크지 않다는 것을 확인합니다.
findjs = "if (document."& frmname & "."& tmparr (i) & ". value.length>"& tmparr (i+3) & ")"& vbcrlf & _
"{"& vbcrlf & _
"window.alert ( '"& tmparr (i+2) & "');"& vbcrlf & _
"문서"& frmname & "."& tmparr (i) & ". select ();"& vbcrlf & _
"문서."& frmname & "."& tmparr (i) & ". focus ();"& vbcrlf & _
"returnfalse;"& vbcrlf & _
"}"& vbcrlf
종료 기능
CASE "14" '는 HTML 태그를 포함하는 텍스트 유형을 확인합니다
findjs = "if (htmlreg.test (document."& frmname & "."& tmparr (i) & ". value))"& vbcrlf & _
"{"& vbcrlf & _
"window.alert ( '"& tmparr (i+2) & "');"& vbcrlf & _
"문서"& frmname & "."& tmparr (i) & ". select ();"& vbcrlf & _
"문서."& frmname & "."& tmparr (i) & ". focus ();"& vbcrlf & _
"returnfalse;"& vbcrlf & _
"}"& vbcrlf
종료 기능
사례 "15"
'===============================================================================================
'선택 유형이 비활성화되지 않은지 확인하십시오. 상태 | 15 | 지방 이름을 선택하십시오! | Selcountry | City | 도시 정보를 선택하십시오
'참고 : selectedIndex! = 0, 항목 2 및 항목 3이 비활성화됩니다! 다른 두 항목을 확인할 필요가 없습니다
'첫 번째 항목이 Cascading 메뉴에서 선택된 index == 0을 선택하면 두 번째 항목의 선택된 핀덱스는 0이 될 수 없으며 두 번째 항목이 두 번째 항목의 선택된 index! = 0이면 세 번째 항목의 선택된 index도 0이 될 수 없습니다.
'이 항목은 국가/지방/도시의 세 가지 캐스케이드 메뉴를 확인하는 데 사용됩니다. 국가가 중국이 아닌 경우, 지방과 도시는 채워지지 않을 수 있습니다. 중국 일 때는 지방과 상대 도시를 채워야합니다!
findjs = "if (document."& frmname & "."& tmparr (i+3) & ". selectedIndex == 0)"& vbcrlf & _
"{"& vbcrlf & _
"if (document."& frmname & "."& tmparr (i) & ". selectedIndex == 0)"& vbcrlf & _
"{"& vbcrlf & _
"window.alert ( '"& tmparr (i+2) & "');"& vbcrlf & _
"문서"& frmname & "."& tmparr (i) & ". 초점;"& vbcrlf & _
"returnfalse;"& vbcrlf & _
"}"& vbcrlf & _
"elseif (문서"& frmname & "."& tmparr (i) & ". selectedIndex! = 0)"& vbcrlf & _
"{"& vbcrlf & _
"if (document."& frmname & "."& tmparr (i+4) & ". selectedIndex == 0)"& vbcrlf & _
"{"& vbcrlf & _
"window.alert ( '"& tmparr (i+5) & "');"& vbcrlf & _
"문서."& frmname & "."& tmparr (i+4) & ". 초점;"& vbcrlf & _
"returnfalse;"& vbcrlf & _
"}"& vbcrlf & _
"}"& vbcrlf & _
"}"& vbcrlf
종료 기능
"16" '사례는 선택 유형이 비활성화되지 않았 음을 확인합니다. 형식을 선택해야합니다. 확인 된 양식 항목 | 16 | 프롬프트 정보 | 협회 항목 "참고 : 관련 항목이 첫 번째 항목 인 경우 확인이 시작됩니다!
findjs = "if (document."& frmname & "."& tmparr (i+3) & ". selectedIndex! = 0)"& vbcrlf & _
"{"& vbcrlf & _
"if (document."& frmname & "."& tmparr (i) & ". selectedIndex == 0)"& vbcrlf & _
"{"& vbcrlf & _
"window.alert ( '"& tmparr (i+2) & "');"& vbcrlf & _
"문서"& frmname & "."& tmparr (i) & ". 초점;"& vbcrlf & _
"returnfalse;"& vbcrlf & _
"}"& vbcrlf & _
"}"& vbcrlf
종료 기능
EndSelect
최종 기능 장애
%>