일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Instanc
- Math.floor()
- css 정리
- probs
- 조건문
- 캡슐화 (encapsulation)
- string
- 재귀적으로 생각하기
- 객체지향 프로그래밍 특징
- class
- probs.children
- align-content
- Promise all
- 추상화 (abstraction)
- async/await
- justfiy-content
- flex-direction
- 화살표함수 기본 개념
- 클래스 문법 구조
- align-iitems
- 다형성 (polymorphism)
- Promise Chaining
- 문자열을 객체로 만드는법
- 상속 (inheritance)
- 재귀함수 탬플릿
- 첫번째 미니 프로잭트
- 얕은복사와 깊은 복사
- display
- props비구조화 할당
- 참조자료형
- Today
- Total
희락코딩
JavaScript _tip / 정규표현식 본문
정규표현식
정규표현식은 개발하면서 자주 사용되는 것이 아니고 그냥 검색해서 사용하는 용도로 쓰입니다. 복잡한 기호와 가독성이 아주 불편해서 그냥 지나쳐야징~@~@ 하지만 우리는 정규 표현식을 왜? 사용하는지는 알아야 합니다!
이번 블로깅은 정규표현식에 대해 간단한 설명과 유용하게 쓰이는 정규표현식을 소개하고자 합니다!!!
정규표현식이란 ?
정규 표현식이란 문자열을 검색하고 대체하는 데 사용 가능한 언어(패턴)입니다.
크게 문자검색(search), 문자 대체(replace), 문자 추출(extract) 을 수행합니다.
정규식 패턴은 가독성이 많이 떨어져 너무 어렵게 느껴지는 경향이 있습니다. 그래서 패턴을 이해하려는 것 보다 이미 제공 된 정규표현식을 가져다 쓰는 것을 권장합니다. 하지만 본인은 아주 세세하게 알아야 되겠다! 하면 정규식 생성자 함수, 리터럴 방식, 재할당 방식, 플레그 정규식 메서드 등 검색하면서 공부 해보는 것도 나쁘지 않습니다. (가볍게 보시길 추천합니당...)
https://developer.mozilla.org/ko/docs/Web/JavaScript/Guide/Regular_Expressions
정규표현식 왜 씀 ??
간단한 문자 검색부터 아이디, 비밀번호, 패스워드 등 복잡한 문자 일치 기능을 정규 표현식을 통해 수월하게 할수 있습니다.
예를 들어 문자열이 매일인지 아닌지 확인하기 위해 코드를 적을때 매일의 핵심인 @표시를 통해 확인 할 수 있습니다.
1
2
3
4
5
6
7
8
9
10
|
function checkEmail(email){
if(email.indexOf('@') < 0){
console.log("이메일이 아닙니다");
}else{
console.log("이메일이 맞습니다");
}
}
checkEmail('joycoding@gmail.com') // 이메일이 맞습니다.
checkEmail('joycodinggmail.com') // 이메일이 아닙니다.
|
cs |
하지만 이코드는 이메일의 도메인 형식(.com)이나 !$$^$#%& 이런 기호들이 들어갈 경우 다시 코드를 작성
하기 너무 어려워 집니다. 그래서 우리는 정규 표현식을 사용합니다.
1
2
3
4
5
6
|
function email_check(email) {
var regex=/([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
return (email != '' && email != 'undefined' && regex.test(email));
}
console.log(email_check('joycodeing@gmail')) // true
|
cs |
위 와같이 정규 표현식을 쓰면 @ 가 이메일에 있는지 없는지를 판별하면서 동시에 @ 기준으로 앞뒤에 특수문자가 들어가면 이메일이 아님을 알려주는 정규표현식입니다.
정규 표현식 테스트 사이트
정규 표현식을 실제로 적용해 어떤식으로 실행되는지 확인해보는 것을 권장합니다!
아래의 사이트를 활용해서 정규식을 테스트 해봅시다!!
정규 표현식 함수
나중에 이메일이나 핸드폰번호, 비밀번호를 정규 표현식을 사용해야 된다면 아래와 같은 함수를 사용 해보시길 바랍니다!
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
32
33
34
35
|
이메일 체크 정규식
function isEmail(Value) {
var regExp = /^[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*\.[a-zA-Z]{2,3}$/i;
return regExp.test(Value); // 맞는 경우 true 리턴
}
핸드폰 번호 체크 정규식
function isPhoneNum(Value) {
var regExp = /^01(?:0|1|[6-9])-(?:\d{3}|\d{4})-\d{4}$/;
return regExp.test(Value); // 맞는 경우 true 리턴
}
비밀번호 체크 정규식
function isPassword(Value) {
var regExp = /^(?=.*\d)(?=.*[a-zA-Z])[0-9a-zA-Z]{8,10}$/; // 8 ~ 10자 영문, 숫자 조합
return regExp.test(Value); // 맞는 경우 true 리턴
}
|
cs |
'프로그래밍 > 자바스크립트 꿀팁 개념' 카테고리의 다른 글
JavaScript _tip / 콜백 함수의 개념 (0) | 2021.04.28 |
---|---|
JavaScript _tip / 고차함수 map, filter, reduce 원리 이해!!! (0) | 2021.04.28 |
JavaScript _tip / 얕은 복사와 깊은 복사 (Shallow copy, Deep copy) (4) | 2021.04.25 |
JavaScript _tip / 화살표 함수 두려워하지 말자! (4) | 2021.04.25 |
JavaScript _tip / 데이터 불변성 (Primitive & Reference) (0) | 2021.04.22 |