본문 바로가기

프로그래밍/[JS] javascript & jQuery

javascript 아이디 비밀번호체크



안녕하세요~  

블로그지기 인간대표 입니다.



<script type="text/javascript">
	/**
	 * 아이디 체크
	 * @param focusYN
	 * @param isTrue
	 * @param thisVal
	 * @returns
	 */
	function fn_chkId(focusYN) {
		var isTrue = $("input:text[idNumberEngOnly]").attr("idNumberEngOnly");
		var thisVal = $("input:text[idNumberEngOnly]").val();

		if(isTrue == "true") {
			if(!/^[a-zA-Z0-9]{6,32}$/.test(thisVal)) {
				alert("[아이디]는 숫자와 영문자 조합으로 6~32자까지 사용 가능합니다.");

				if(focusYN == "Y") {
					$("input:text[idNumberEngOnly]").focus();
				}

				return false;
			}
		}

		return true;
	}

	/**
	 * 비밀번호 체크
	 * @param focusYN
	 * @param isTrue
	 * @param thisVal
	 * @returns
	 */
	function fn_chkPWD(focusYN) {
		var isTrue = $("input:text[passNumEngSpecialOnly]").attr("passNumEngSpecialOnly");
		var thisVal = $("input:text[passNumEngSpecialOnly]").val();

		if(isTrue == "true") {
			if(!/^[a-zA-Z0-9!@#$%^&*()\-_=+\\\/\[\]{};:\`",.<>\/?]{8,32}$/.test(thisVal)) {
				alert("[비밀번호]는 숫자와 영대소문자 및 특수문자 조합으로 8~32자까지 사용 가능합니다.");

				if(focusYN == "Y") {
					$("input:text[passNumEngSpecialOnly]").focus();
				}

				return false;
			}

			var chkNum = thisVal.search(/[0-9]/g);  // 숫자
//			var chkEngA = thisVal.search(/[A-Z]/g);  // 영문 대문자
//			var chkEnga = thisVal.search(/[a-z]/g);  // 영문 소문자
			var chkEngAa = thisVal.search(/[A-Za-z]/g);  // 영문 대소문자
			var chkSpecial = thisVal.search(/[!@#$%^&*()\-_=+\\\/\[\]{};:\`",.<>\/?]/g);  // 특수문자
			var chkCnt = 0;

			// 혼용한 횟수 체크위해
			if(chkNum >= 0) { chkCnt += 1; }
//			if(chkEngA >= 0) { chkCnt += 1; }
//			if(chkEnga >= 0) { chkCnt += 1; }
			if(chkEngAa >= 0) { chkCnt += 1; }
			if(chkSpecial >= 0) { chkCnt += 1; }

			if(chkCnt < 3) {
				alert("[비밀번호]는 숫자와 영대소문자 및 특수문자 중 3종류이상 혼용하여야 합니다.");

				if(focusYN == "Y") {
					$("input:text[passNumEngSpecialOnly]").focus();
				}

				return false;
			}

			if(/(\w)\1\1\1/.test(thisVal)) {
				alert("[비밀번호]에 같은 문자를 연속으로 4번이상 사용하실 수 없습니다.");

				if(focusYN == "Y") {
					$("input:text[passNumEngSpecialOnly]").focus();
				}

				return false;
			}

			if(thisVal.indexOf($("input:text[idNumberEngOnly]").val()) > -1) {
				alert("[비밀번호]는 사용자ID와 동일하거나 이를 포함한 비밀번호를 사용하실 수 없습니다.");

				if(focusYN == "Y") {
					$("input:text[passNumEngSpecialOnly]").focus();
				}

				return false;
			}
		}

		return true;
	}
</script>


아이디 : <input type="text" idnumberengonly="true">
비밀번호 : <input type="password" passnumengspecialonly="true">
 




서이추 항상 환영합니다^_^;

이상 인간대표 블로그였습니다.