====== Regular Expression (정규표현식) ======
* description : Javascript로 정규식 사용하기
* author : eleven
* email : jskim@repia.com
* lastupdate : 2020-04-28
===== Case Study =====
>이메일 정규표현식
var emailRegExp = /^[A-Za-z0-9_\.\-]+@[A-Za-z0-9\-]+\.[A-Za-z0-9\-]+/;
\\
>휴대폰번호 정규표현식
var phoneRegExp = /^\d{3}-\d{3,4}-\d{4}$/;
\\
>비밀번호 정규표현식
//특수문자 / 문자 / 숫자 포함 형태의 8~15자리 이내의 비밀번호 정규식
var pwRegExp1 = /^.*(?=^.{8,15}$)(?=.*\d)(?=.*[a-zA-Z])(?=.*[!@#$%^&+=]).*$/;
//숫자와 문자 포함 형태의 6~12자리 이내의 비밀번호 정규식
var pwRegExp2 = /^[A-Za-z0-9]{6,12}$/;
\\
>사용 예시
var expText = /^[A-Za-z0-9_\.\-]+@[A-Za-z0-9\-]+\.[A-Za-z0-9\-]+/;
var email = $('#email').val();
if(expText.test(email) == false)
{
alert("이메일 형식이 올바르지 않습니다. 다시 입력해주세요.");
return false;
}
\\
> replace
var str = 'apple apple apple';
var result = str.replace('apple', 'orange');
=> orange apple apple
replace는 처음 매칭되는 1번만 수행됨 \\
\\
> replace 정규식 사용하기(java의 replaceAll)
var str = 'apple apple apple';
var result = str.replace(/apple/g, 'orange');
=> orange orange orange
> 대소문자 구분은 /문자열/gi
\\
> 그럼 특수 기호('.', '^', '(', ')') 는?
var str = 'apple.apple.apple';
var result = str.replace(/\./g, ' ');
=> apple apple apple
\\
{{tag>eleven 주레피 정규표현식 정규식 regular expression 유효성체크}}