Exp/Java & Java Script

[JS] 정규식은 어려워...

kilog 2024. 4. 2. 00:51
728x90

안녕하세요 ki입니다. 

이번 Exp는 정규식입니다. 로그인 화면에서 순수 자바스크립트로 비밀번호 유효성 체크를 했던 경험이 있습니다.

Back단인 Java에서만 정규식이 사용되는 줄 알았던 시절이 있었습니다. 프로젝트 경험 중에 JS로 정규식에 대해

알게 되어 Exp로 작성하려고 합니다.

 

  • 정규식(Regular Expression)은 문자열을 검색하고 패턴을 일치시키기 위한 도구입니다. 정규식은 문자열에서 특정한 문자 패턴을 찾거나 변경하는 등의 작업에 사용됩니다. JS는 RegExp 객체를 사용하여 정규식을 생성하고 문자열 메소드와 함께 사용할 수 있습니다.

 

  • 정규식 생성은  / 기호로 둘러싸인 문자열로 생성합니다.
var reg =  /\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b/;

 

 

생성된 정규식은 test() 메소드로 일치 여부를 판단합니다.

var email = "test@tistory.com"

if (reg.test(email)) {
    console.log("올바른 이메일 형식입니다.");
} else {
    console.log("올바르지 않은 이메일 형식입니다.");
}

 

※ 문자열 함수인 split()(문자분리), replace()(문자 치환)를 응용 할 수 있다.

 

 

주요 정규식은 구글링을 통해 알 수 있었는데 사용했던 주요 정규식들은 아래에 있습니다.

 

/ id 체크 정규식 : 숫자, 영문만 입력 가능    
var regExpId = /^[0-9a-z]+$/; 
// 비밀번호 규칙 정규식// : 숫자, 특문 각 1회 이상, 영문은 2개 이상 사용하여 8자리 이상 입력    
var regExpPw = /(?=.*\d{1,50})(?=.*[~`!@#$%\^&*()-+=]{1,50})(?=.*[a-zA-Z]{2,50}).{8,50}$/;    
// 이메일주소 형식 체크 정규식    
var regExpEm = /^[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*\.[a-zA-Z]{2,3}$/i;cs

 

JS뿐만 아니라 Java에서도 사용하는 정규식은 다음 Exp에 공유하겠습니다. 감사합니다.