- 정규 표현식 : 문자열의 패턴을 확인할 때 사용하는 식
- 아이디, 비밀번호 등
- abc(기준이될 만한 아무 문자열) : 문자열 abc와 일치하는 부분이 있는지 확인
- [abc] : a또는 b또는 c가 있는지 홛인
- [a-c] : [abc]와 같음
- [a] : 괄호 안의 알파벳 소문자가 있는지 확인
- [A-Z] : 알파벳 대문자가 있는지 확인
- [a-zA-Z] : 알파벳이 있는지 확인
- [0-9] : 숫자가 있는지 확인
- [ㄱ-힣] : 한글이 있는지 확인
- [^abc] : abc가 없는지 확인
- ^ : 시작
- $ : 끝
- {} : 횟수
- {3} : 3번반복(한줄에 3개만)
- {3,4} : 3~4반복
- {3,} : 3개 이상
- \d : 숫자를 확인
- \D : 숫자를 제외하고 확인
- \w : 알파벳, 숫자, _를 확인
- \W : 알파벳, 숫자, _를 제외하고 확인
- \s : 공백을 확인
- \S : 공백을 제외하고 확인
- * : 0번 이상
- + : 1번 이상
- ? : 0번 또는 1번
- a|b : a또는 b
- (abc) : abc를 하나의 그룹으로 묶어서 확인
- . : 한 공간/한칸/한글자 (문자나 숫자하나가 올 수 있는 공간 ex: ... => 세글자 아무거나 가능)
- 네이버에서 회원가입 시, 아이디는 5~20자의 영문 소문자, 숫자와 특수기호(_), (-)만
사용 가능합니다. 이를 확인하기 위한 정규 표현식을 작성하세요.
- 한글자에 표현 가능한 문자
- 영문 소문자, 숫자, _, -
- [a-z0-9_-]
- 5~20자
- {5,20}
- ^[a-z0-9_-]{5,20}$
-^abcd[a-z]+$ : abcd로 시작하는 5자이상의 소문자로 된 문자열
-^abcd?$ : abc또는 abcd
- ^(abcd)?$ : 빈 문자열이거나 abcd
- 문자열이 폰번호인지 아닌지 확인하는 정규 표현식을 작성하세요.
- 단, 번호는 010-xxxx-xxxx으로 되어 있다
- /^010(-[0-9]{4}){2}$/
- /^010(-\d{4}){2}$/
/* 정규 표현식 중요 메서드
- 정규표현식.test(문자열) : 정규표현식과 일치하면 true, 일치하지 않으면 false 반환
- 문자열.match(정규표현식) : 정규표현식과 일치하는 문자열을 배열로 만들어 변환
*/
var phoneReg = /^010(-[0-9]{4}){2}$/;
var num1='010-1234-5678';
console.log(num1+" : " + phoneReg.test(num1));
var num2='01012345678';
console.log(num2+" : " + phoneReg.test(num2));
var num3='010-abcd-abcd';
console.log(num3+" : " + phoneReg.test(num3));
var num4='010-1234-456';
console.log(num4+" : " + phoneReg.test(num4));
/* 문자열이 url주소인지 아닌지 확인하는 정규표현식을 작성허세요
- http://xxx.yy
- http://xxx.xx.zz
- https://xxx.yy
- 단, x는 1글자 이상, y는 2글자 이상
나 : ^https?\:\/\/([a-z]{3})\.([a-z]{2,})(\.{0,})([a-z]{0,})$
쌤 : ^https?:\/\/\w+(\.[a-z]{2,})+$
^https? = ^(http|https)
\w+ = \w{1,}
*/
var urlRef = /^https?:\/\/\w+(\.[a-z]{2,})+$/;
- 플래그 (위치는 정규표현식의 마지막 / 끝 다음)
ex: /^https?:\/\/\w+(\.[a-z]{2,})+$/i;
- i: 대소문자 구별 없이 비교, test()메서드를 이용할 때 사용
- g : 문자열 전체와 비교
- m : 여러 행의 문자열을 비교
'괴발개발 > Javascript+JQuery' 카테고리의 다른 글
JS_요소선택 (0) | 2021.06.21 |
---|---|
JS_이벤트(event) (0) | 2021.06.21 |
JS_날짜(Date, Date형식 수정) (0) | 2021.06.21 |
JS_반복문(for in, for of, forEach) (0) | 2021.06.21 |
JS_객체 (0) | 2021.06.18 |