정규표현식(Regex)
: 특정 규칙을 지니고 있는 문자열의 집함을 표현하는 데 사용하는 식
전화번호, 이메일, 아이디, 비밀번호 등의 형식을 체크하기 위한 용도로 주로 사용
정규화된 문자열을 만들기 위한 다양한 표현식을 사용하게 된다
Regexper
regexper.com
. : 모든 문자와 일치시킨다
^ : 정규표현식의 시작
$ : 정규 표현식의 끝
? : ? 왼쪽의 표현식으로 끝나는 문자열이 0 또는 1번을 사용하는 경우 일치
* : 왼쪽의 표현식으로 끝나는 문자열이 0번 이상 반복하는 경우 일치
+ : 왼쪽 표현식으로 끝나는 문자열이 1번 이상 반복하는 경우 일치
| : 왼쪽 또는 오른쪽 표현식과 일치시킴
[0-9] : 0~9 범위의 문자와 일치시킴
[a-z] : a~z 범위의 문자와 일치시킴
[A-Z] : A~Z 범위의 문자와 일치시킴
{n} : 왼쪽 표현식으로 끝나는 문자열이 n번 사용하는 경우 일치시킴
{n, m} : 왼쪽 표현식으로 끝나는 문자열이 n~m번 사용하는 경우 일치시킴
( ) : 괄호 안의 표현식을 그룹으로 묶어 저장
\d : [0-9] 표현식에 일치시킴
\D : [0-9] 표현식을 제외하고 일치시킴
\w : [a-zA-Z0-9_] 표현식에 일치시킴
\W : [a-zA-Z0-9_] 표현식에 일치시킴
** 자바 API에서는 java.util.regex.Pattern에 상세한 설명이 있음
https://docs.oracle.com/javase/8/docs/api/
정규표현식의 사용
항상 정규식 체크를 해 주어야 한다
[ ] 대괄호 안에 포함시킬 항목을 넣는다
* JavaScript외 모든 언어에서 사용 가능
ex.
[abc]
: a 또는 b 또는 c가 온다
[a-zA-Z!@#$%^&*][a-zA-Z!@#$%^&*][a-zA-Z!@#$%^&*][a-zA-Z!@#$%^&*][a-zA-Z!@#$%^&*]
: 다섯자리의 [a-zA-Z!@#$%^&*]
==
[a-zA-Z!@#$%^&*]{5}
: [a-zA-Z!@#$%^&*]를 다섯 번 반복
[a-zA-Z!@#$%^&*]{3,}
: [a-zA-Z!@#$%^&*]가 3번 이상
[a-zA-Z!@#$%^&*]{3,10}
: [a-zA-Z!@#$%^&*]가 3번 이상 10번 이하
\d{2}([0]\d|[1][0-2])([0][1-9][1-2]\d|[3][0-1])[-]*[1-4]\d{6}
: 주민등록번호를 입력 받는 정규표현식
[1-9][0-9]{0,2}
: 1-9사이의 수 하나와 0-9사이의 수 1개 또는2개가 온다
->
var num_pattern = /^[1-9][0-9]{0,2}$/;
->
값이 나오면 true 아니면 false
->
if(!num_pattern.test(age)){
alert("나이는 정수로 입력하세요");
f.age.focus();
return;
// 오류처리
출력화면
'Backend > JavaScript' 카테고리의 다른 글
JS Eclipse JavaScript 활용 : 화면 구현 연습 예제 (1) | 2023.05.16 |
---|---|
JS Eclipse JavaScript 활용 : 화면에 출력된 데이터 정렬하기 (0) | 2023.05.16 |
JS Eclipse JavaScript 활용 : 요소를 숨기거나 나타내기 (0) | 2023.05.15 |
JS Eclipse JavaScript 활용 : 제어문, 조건문 (0) | 2023.05.15 |
JS Eclipse JavaScript 활용 : 텍스트, 문자열, 변수, 메소드, 연산자 (0) | 2023.05.15 |