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에 공유하겠습니다. 감사합니다.