PageSourceSearch

https://moonpd.ai/assets/plugin/validate/form.validate.js

js moonpd.ai collected 2026-10-05 16:26:37 UTC 5,557 bytes, 209 lines download raw bytes

1/**
2 * jQuery Validate (Import jquery-1.10.2.min.js) 
3 * @author Lee JongHwan
4 * @since 2014.10.28
5 * @param formId  
6 */
7 
8// numberOnly 숫자만 입력
9jQuery(document).on("keyup", ".numberOnly", function() {jQuery(this).val( jQuery(this).val().replace(/[^0-9]/gi,"") );});
10// formValidate 폼체크
11function formValidate(){
12	var successFlag=true;	
13	var isValid;
14	var name;
15	var title;				// input title
16	var type;				// input 타입
17	var isNullCheck;		// 체크여부
18	var isDisabled;
19	var val;
20	var equalsTarget;	// 비교대상아이디	
21	var isPasswdCheck; // 비밀번호체크
22	
23	try {
24		
25		jQuery("form input, form select, form radio, form chekbox, form textarea").each(function(){			
26			obj = jQuery(this);
27			if(obj.parents('form').attr('id')){
28			
29				name 			= obj.attr("name");
30				id	 			= obj.attr("id");
31				title 			= obj.attr("title");
32				type 			= obj.prop("type");
33				isNullCheck 	= obj.attr("isNullCheck");
34				isEmailCheck	= obj.attr("isEmailCheck");
35				isNumberCheck	= obj.attr("isNumberCheck");
36				isPasswdCheck	= obj.attr("isPasswdCheck");
37				equalsTarget 	= obj.attr("equalsTarget");
38				isDisabled 		= obj.is(":disabled");			
39				val 			= jQuery.trim(obj.val());
40				successFlag 	= true;
41				
42				if(isNullCheck == "true" && isDisabled == false) {
43					isValid = false;
44					
45					// radio || checkbox
46					if(type == "radio" || type == "checkbox"){
47						jQuery("input:"+type+"[name="+name+"]").each(function(i) {
48							if(this.checked) {
49								isValid = true;
50								return false; //break
51							}
52						});
53					} else {					
54						if(val != undefined && val != null && val != '') {		
55							isValid = true;
56						}
57					}
58					
59					// 메시지 알림				
60					if(!isValid){
61						if(type =="text" || type =="password" || type == "textarea" || type == "hidden"){
62							alert(title + "을(를) 입력해 주시기 바랍니다.");
63						}else{
64							alert(title + "을(를) 선택해 주시기 바랍니다.");
65						}					
66						obj.focus();					
67						successFlag = false;
68						return false;
69					}
70					
71					// equalsTarget 비교 값 확인				
72					if(equalsTarget) {
73						if(val != jQuery("#"+equalsTarget).val()){
74							alert(title + "은(는) " + jQuery("#"+equalsTarget).attr("title") +"과(와) 일치하지 않습니다");
75							obj.focus();
76							successFlag = false;
77							return false;
78						}
79					}
80					// 이메일 형식 확인
81					if(isEmailCheck){
82						if(!val.match(/^(\S+)@(\S+)\.(\S+)/g)) {
83							alert("올바른 이메일 형식이 아닙니다.");
84							obj.focus();
85							successFlag = false;
86							return false;
87						}
88					} 
89					// 숫자만입력
90					if(isNumberCheck){
91						if(isNaN(val)) {
92							alert(title + "은(는) 숫자만 입력해 주시기 바랍니다.");
93							obj.focus();
94							successFlag = false;
95							return false;
96						}
97					}
98					// 영문숫자 조합 6,20
99					if(isPasswdCheck){					
100						var regex = /^.*(?=.{6,20})(?=.*[0-9])(?=.*[a-zA-Z]).*$/;
101						if(!regex.test(val)) {
102							alert(title + "은(는) 영문 숫자 조합 6자리 이상 입력하시기 바랍니다.");
103							successFlag = false;
104							return false;
105						}
106					}
107				}		
108			
109			}
110		});	
111		
112	} catch(err) {
113		alert(err);
114		return successFlag;
115	}	
116	return successFlag;
117}
118
119// 단일 입력폼 체크
120function inputValidate(id){
121	var successFlag=false;	
122	var isValid;
123	var name;
124	var title;				// input title
125	var type;				// input 타입
126	var isNullCheck;		// 체크여부
127	var isDisabled;
128	var val;
129	var equalsTarget;	// 비교대상아이디	
130	
131	try {
132		
133		obj 				= jQuery('#'+id);
134		name 			= obj.attr("name");
135		id	 				= obj.attr("id");
136		title 				= obj.attr("title");
137		type 				= obj.prop("type");
138		isNullCheck 		= obj.attr("isNullCheck");
139		isEmailCheck	= obj.attr("isEmailCheck");
140		isNumberCheck	= obj.attr("isNumberCheck");
141		equalsTarget 	= obj.attr("equalsTarget");
142		isDisabled 		= obj.is(":disabled");
143		val 				= jQuery.trim(obj.val());
144		successFlag 		= true;
145		
146		if(isNullCheck == "true" && isDisabled == false) {
147			isValid = false;
148			
149			// radio || checkbox
150			if(type == "radio" || type == "checkbox"){
151				jQuery("input:"+type+"[name="+name+"]").each(function(i) {
152					if(this.checked) {
153						isValid = true;
154						return false; //break
155					}
156				});
157			} else {					
158				if(val != undefined && val != null && val != '') {		
159					isValid = true;
160				}
161			}
162			
163			// 메시지 알림				
164			if(!isValid){
165				if(type =="text" || type =="password" || type == "textarea"){
166					alert(title + "을(를) 입력해 주시기 바랍니다.");
167				}else{
168					alert(title + "을(를) 선택해 주시기 바랍니다.");
169				}					
170				obj.focus();					
171				successFlag = false;
172				return false;
173			}
174			
175			// equalsTarget 비교 값 확인				
176			if(equalsTarget) {
177				if(val != jQuery("#"+equalsTarget).val()){
178					alert(title + "은(는) " + jQuery("#"+equalsTarget).attr("title") +"과(와) 일치하지 않습니다");
179					obj.focus();
180					successFlag = false;
181					return false;
182				}
183			}
184			// 이메일 형식 확인
185			if(isEmailCheck){
186				if(!val.match(/^(\S+)@(\S+)\.(\S+)/g)) {
187					alert("올바른 이메일 형식이 아닙니다.");
188					obj.focus();
189					successFlag = false;
190					return false;
191				}
192			} 
193			// 숫자만입력
194			if(isNumberCheck){
195				if(isNaN(val)) {
196					alert(title + "은(는) 숫자만 입력해 주시기 바랍니다.");
197					obj.focus();
198					successFlag = false;
199					return false;
200				}
201			}
202		}
203		
204	} catch(err) {
205		alert(err);
206		return successFlag;
207	}	
208	return successFlag;
209}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.