일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- http https
- ajax 동기방식처리
- multipart
- String[]
- 아이폰키보드
- ajax async
- String 배열
- update
- 주소 좌표변환
- jquery selectbox change
- partition by
- ant path pattern
- 한국소프트웨어산업협회
- 폐업자에 대한 업종등의 정보내역
- Oracle
- remote ip
- 접속ip
- 첫주 및 마지막주 날짜 전체 포함
- 서브쿼리
- 2개 테이블
- eclipse hotdeploy
- extundelete
- mysql trigger
- KOSA
- 컴퓨터 드라이버
- group by max
- checkbox 값처리
- mysql
- map api v3
- TM128
- Today
- Total
하은양 믿음군 효실맘 호홍홍집s
비밀번호 체크하기 본문
<div>
비밀번호 생성규칙
① 최소 8자 ~ 최대 20자 이내로 입력합니다.
② 반드시 영문, 숫자, 특수문자가 각 1자리 이상 포함되어야 합니다.
③ 특수문자 중 <, >, (, ), #, ', /, | 는 사용할수 없습니다.
④ 3자리 이상 연속되는 숫자 또는 문자열은 사용할 수 없습니다.
(예:123, 321, 012, abc, cba)
⑤ 3자리 이상 동일한 숫자 또는 문자열은 사용할 수 없습니다.
(예:000, 111, 222, ,aaa, bbb)
⑥ 아래와 같은 문자는 사용할 수 없습니다.
(love, happy, qwer, asdf, zxcv, test, gpin, ipin)
⑦ 아이디와 연속한 3자리 이상 일치하는 비밀번호는 사용할 수 없습니다.
</div>
<script>
function submitForm(){
var srt = pwInputValueCheck();
var pattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/i;
document.frm01.usrId.value = "hogildong";
if(document.frm01.pwNow.value == ""){
alert("현재 비밀번호를 입력해 주세요.");
document.frm01.pwNow.focus();
return;
}
if(document.frm01.pw.value == "" && document.frm01.pw2.value == ""){
}else{
if(document.frm01.pw.value == ""){
alert("변경 비밀번호를 입력해 주세요.");
document.frm01.pw.focus();
return;
}else if(document.frm01.pw2.value == ""){
alert("변경 비밀번호 확인을 입력해 주세요.");
document.frm01.pw2.focus();
return;
}else if(document.frm01.pw.value.length < 8 || document.frm01.pw.value.length > 20){
alert('비밀번호는 8자 이상 20자 이내로 입력하여 주십시오')
document.frm01.pw.value = "";
document.frm01.pw2.value = "";
document.frm01.pw.focus();
return;
}else if(pwcheck()){
alert("비밀번호에 허용되지 않는 특수문자(<, >, (, ), #, ', /, |)가 있습니다.");
document.frm01.pw.value = "";
document.frm01.pw2.value = "";
document.frm01.pw.focus();
return;
}else if(checkPwdEnd()){
alert('비밀번호는 영문, 숫자, 특수문자의 조합으로 구성되어야 하며\n최소 1자리 이상의 특수문자가 포함되어야 합니다')
document.frm01.pw.value = "";
document.frm01.pw2.value = "";
document.frm01.pw.focus();
return;
}else if(pwContinue()){
alert("비밀번호에 3자리 이상 연속된 문자(예:abc)는 사용할 수 없습니다.");
document.frm01.pw.value = "";
document.frm01.pw2.value = "";
document.frm01.pw.focus();
return;
}else if(pwSame()){
alert("비밀번호에 3자리 이상 연속된 동일한 문자(예:aaa)는 사용할 수 없습니다.");
document.frm01.pw.value = "";
document.frm01.pw2.value = "";
document.frm01.pw.focus();
return;
}else if(idValuePw()){
alert("비밀번호가 아이디와 동일하거나 3자리 이상 일치할 경우 사용할 수 없습니다.");
document.frm01.pw.value = "";
document.frm01.pw2.value = "";
document.frm01.pw.focus();
return;
}else if(srt != null){
alert("비밀번호에 \"" + srt + "\" 라는 문자는 사용할 수 없습니다.");
document.frm01.pw.value = "";
document.frm01.pw2.value = "";
document.frm01.pw.focus();
return;
}else if(document.frm01.pw.value == "hogildong"){
alert('비밀번호는 아이디와 동일할 수 없습니다')
document.frm01.pw.value = "";
document.frm01.pw2.value = "";
document.frm01.pw.focus();
return;
}else if(document.frm01.pw.value != document.frm01.pw2.value){
alert('변경 비밀번호와\n변경 비밀번호 확인이\n맞지않습니다')
document.frm01.pw.value = "";
document.frm01.pw2.value = "";
document.frm01.pw.focus();
return;
}else if(document.frm01.pw.value == document.frm01.pwNow.value){
alert('현재 비밀번호와 변경 비밀번호가 동일합니다.')
document.frm01.pwNow.value = "";
document.frm01.pw.value = "";
document.frm01.pw2.value = "";
document.frm01.pwNow.focus();
return;
}
}
}
// 비밀번호에 허용되지 않는 특수문자(<, >, (, ), #, ', /, |)가 있습니다.
function pwcheck(){
digits = "\`~!@$%^&*-=\\_+,.?;:\"[]{}0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
j = 0;
valpw = document.frm01.pw.value;
for(i=0; i<valpw.length; i++){
if(digits.indexOf(valpw.charAt(i)) < 0){
j = j+1;
}
}
if(j > 0){
return true;
}
return false;
}
// 비밀번호는 영문, 숫자, 특수문자의 조합으로 구성되어야 하며\n최소 1자리 이상의 특수문자가 포함되어야 합니다
function checkPwdEnd(){
var flag = false;
var intCount = 0;
var charCount = 0;
var varcharCount = 0;
intCount = IntCount(document.frm01.pw.value);
charCount = CharCount(document.frm01.pw.value);
varcharCount = VarCharCount(document.frm01.pw.value);
if((intCount == 0 || charCount == 0 || varcharCount == 0)){
flag = true;
}
return flag;
}
function IntCount(aInputBox) { // aInputBox에 있는 숫자의 갯수 return
var comp = "1234567890";
var aInputBoxValue = aInputBox;
var len=aInputBoxValue.length;
var count = 0;
if(len > 0) {
for(var i=0;i<len;i++) {
if(comp.indexOf(aInputBoxValue.substring(i,i+1)) != -1) {
count++;
}
}
}
return count;
}
function CharCount(aInputBox) { // aInputBox에 있는 문자의 갯수 return
var comp = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
var aInputBoxValue = aInputBox;
var len=aInputBoxValue.length;
var count = 0;
if(len > 0) {
for(var i=0;i<len;i++) {
if(comp.indexOf(aInputBoxValue.substring(i,i+1)) != -1) {
count++;
}
}
}
return count;
}
function VarCharCount(aInputBox) { // aInputBox에 있는 특수문자의 갯수 return
var comp = "\`~!@#$%^&*-_+=\\,./?:;\"{[}]";
var aInputBoxValue = aInputBox;
var len = aInputBoxValue.length;
var count = 0;
if(len > 0){
for(var i=0; i<len; i++) {
if(comp.indexOf(aInputBoxValue.substring(i,i+1)) != -1) {
count++;
}
}
}
return count;
}
// 비밀번호에 3자리 이상 연속된 문자(예:abc)는 사용할 수 없습니다.
function pwContinue(){ //연속된 문자, 숫자 체크(3자리)
var cnt = 0;
var cnt2 = 0;
var tmp = "";
var tmp2 = "";
var tmp3 = "";
validpw = document.frm01.pw.value;
for(i=0; i<validpw.length; i++){
tmp = validpw.charAt(i);
tmp2 = validpw.charAt(i+1);
tmp3 = validpw.charAt(i+2);
if(tmp.charCodeAt(0) - tmp2.charCodeAt(0) == 1 && tmp2.charCodeAt(0) - tmp3.charCodeAt(0) == 1){
cnt = cnt + 1;
}
if(tmp.charCodeAt(0) - tmp2.charCodeAt(0) == -1 && tmp2.charCodeAt(0) - tmp3.charCodeAt(0) == -1){
cnt2 = cnt2 + 1;
}
}
if(cnt > 0 || cnt2 > 0){
return true;
}else{
return false;
}
}
// 비밀번호에 3자리 이상 연속된 동일한 문자(예:aaa)는 사용할 수 없습니다.
function pwSame(){ //동일 문자, 숫자 체크(3자리)
var tmp = "";
var cnt = 0;
validpw = document.frm01.pw.value;
for(i=0; i<validpw.length; i++){
tmp = validpw.charAt(i);
if(tmp == validpw.charAt(i+1) && tmp == validpw.charAt(i+2)){
cnt = cnt + 1;
}
}
if(cnt > 0){
return true;
}else{
return false;
}
}
// 비밀번호가 아이디와 동일하거나 3자리 이상 일치할 경우 사용할 수 없습니다.
function idValuePw(){
validid = document.frm01.usrId.value;
validpw = document.frm01.pw.value;
var tmp = "";
var cnt = 0;
for(i=0; i<validid.length-2; i++){
tmp = validid.charAt(i) + validid.charAt(i+1) + validid.charAt(i+2);
if(validpw.indexOf(tmp) > -1){
cnt = cnt + 1;
}
}
if(cnt > 0){
return true;
}else{
return false;
}
}
// "비밀번호에 \"" + srt + "\" 라는 문자는 사용할 수 없습니다."
function pwInputValueCheck(){ //특정문자 체크
var InputValue = ["love", "happy", "qwer", "asdf", "zxcv", "test", "gpin" , "ipin"];
validpw = document.frm01.pw.value;
for(i=0; i<InputValue.length; i++){
if(validpw.indexOf(InputValue[i]) >= 0){
return InputValue[i];
}
}
return null;
}
</script>
'가벼운 배움 > javascript' 카테고리의 다른 글
날짜비교하여 팝업열기 샘플 (0) | 2017.01.19 |
---|---|
Naver Map api v3 TM128좌표 사용기 (0) | 2017.01.18 |
부모 iframe의 url을 확인하여 리다이렉트시키기 (0) | 2016.10.25 |
다음지도 API 기본 코딩자료 (0) | 2016.10.13 |
input box click시 submit 처리하기 (0) | 2016.06.14 |