본문 바로가기
Database/MYSQL

정규표현식(영어만 표현, 숫자만 표현 등)

by 반화넬 2024. 1. 15.
반응형
Mysql regexp 정규표현식

정규 표현식 잘 사용하면 정말 최고랍니다.

 

메타문자 기능 설명
. 문자 1개의 문자와 일치한다. 단일행 모드에서는 새줄 문자를 제외한다.
[ ] 문자 클래스 "["과 "]" 사이의 문자 중 하나를 선택한다. "¦"를 여러 개 쓴 것과 같은 의미이다. 예를 들면 [abc]d는 ad, bd, cd를 뜻한다. 또한, "-" 기호와 함께 쓰면 범위를 지정할 수 있다. "[a-z]"는 a부터 z까지 중 하나, "[1-9]"는 1부터 9까지 중의 하나를 의미한다.
[^ ] 부정 문자 클래스 안의 문자를 제외한 나머지를 선택한다. 예를 들면 [^abc]d는 ad, bd, cd는 포함하지 않고 ed, fd 등을 포함한다. [^a-z]는 알파벳 소문자로 시작하지 않는 모든 문자를 의미한다.
^ 처음 문자열이나 행의 처음을 의미한다.
$ 문자열이나 행의 끝을 의미한다.
( ) 하위식 여러 식을 하나로 묶을 수 있다. "abc¦adc"와 "a(b¦d)c"는 같은 의미를 가진다.
\n 일치하는 n번째 패턴 일치하는 패턴들 중 n번째를 선택하며, 여기에서 n은 1에서 9 중 하나가 올 수 있다.
* 0회 이상 0개 이상의 문자를 포함한다. "a*b"는 "b", "ab", "aab", "aaab"를 포함한다.
{m, n} m회 이상 n회 이하 "a{1,3}b"는 "ab", "aab", "aaab"를 포함하지만, "b"나 "aaaab"는 포함하지 않는다.

그렇다면 각종 검증을 위한 정규표현식들은 어떻게 표현하는지 알아보겠습니다.

 

영어만 

var eng = /^[a-zA-Z]*$/; 

 

숫자만 

var num = /^[0-9]*$/;

영어+숫자 

var engNum =  /^[a-zA-Z0-9]*$/;

이메일 

var email = /^[a-zA-Z0-9]+@[a-zA-Z0-9]+$/;

전화번호

var phone = /^\d{2,3}-\d{3,4}-\d{4}$/;

주민등록번호

var jumin = /\d{6} \- [1-4]\d{6}/;

 

사용법

 
 
var regEmail = /^[a-zA-Z0-9]+@[a-zA-Z0-9]+$/;
 
if (regEmail.test(document.getElementById('email').value)) {
 
alert('형식에 맞지 않는 이메일입니다. 다시 입력해 주세요.');
 
return false;
 
}

 

비밀번호 규칙 : 비밀번호를 영문+숫자+특수문자

var password = /^(?=.*[A-Za-z])(?=.*\d)(?=.*[$@$!%*#?&])[A-Za-z\d$@$!%*#?&]{8,}$/;

 

 

반응형