Programming/javascript

[javascript] 정규식을 이용한 비밀번호 로직

성일만 2015. 4. 1. 14:48

정규식을 이용한 비밀번호 로직



1.

var passwordRules = /^(?=.*[a-zA-Z])(?=.*[!@#$%^*+=-])(?=.*[0-9]).{8,16}$/;


var password = 'password1';

console.log(passwordRules .test(password));



2.

function checkPassword(id,password){

if(!/^[a-zA-Z0-9]{10,15}$/.test(password)){

alert('숫자와 영문자 조합으로 10~15자리를 사용해야 합니다.');

return false;

}


var checkNumber = password.search(/[0-9]/g);

var checkEnglish = password.search(/[a-z]/ig);


if(checkNumber <0 || checkEnglish <0){

alert("숫자와 영문자를 혼용하여야 합니다.");

return false;

}

if(/(\w)\1\1\1/.test(password)){

alert('444같은 문자를 4번 이상 사용하실 수 없습니다.');

return false;

}

if(password.search(id) > -1){

alert("비밀번호에 아이디가 포함되었습니다.");

return false;

}

return true;

}



3. 자주 쓰이는 정규식 문법

1. 암호:

조건1. 6~20 영문 대소문자

조건2. 최소 1개의 숫자 혹은 특수 문자를 포함해야 함

/^(?=.*[a-zA-Z])((?=.*\d)|(?=.*\W)).{6,20}$/


2. 전자우편 주소:

/^[a-z0-9_+.-]+@([a-z0-9-]+\.)+[a-z0-9]{2,4}$/


3. URL:

/^(file|gopher|news|nntp|telnet|https?|ftps?|sftp):\/\/([a-z0-9-]+\.)+[a-z0-9]{2,4}.*$/


4. HTML 태그 – HTML tags:

/\<(/?[^\>]+)\>/


5. 전화 번호 – 예, 123-123-2344 혹은 123-1234-1234:

/(\d{3}).*(\d{3}).*(\d{4})/


6. 날짜 – 예, 3/28/2007 혹은 3/28/07:

/^\d{1,2}\/\d{1,2}\/\d{2,4}$/


7.  jpg, gif 또는 png 확장자를 가진 그림 파일명:

/([^\s]+(?=\.(jpg|gif|png))\.\2)/


8. 1부터 50 사이의 번호 – 1과 50 포함:

/^[1-9]{1}$|^[1-4]{1}[0-9]{1}$|^50$/


9. 16 진수로 된 색깔 번호:

/#?([A-Fa-f0-9]){3}(([A-Fa-f0-9]){3})?/


정규식 문법 출처 - Tip Archives