티스토리 뷰

문자열 제어시 포함이나, 시작, 종료 정도는 String 클래스나 StringUtils 등 유틸 클래스를 에 포함 되있는 각종 메소드를 이용해서 처리 할수 있겠지만 조건이 복잡 해지면 정규식을 사용할수 밖에 없습니다. 하지만 괜히 복잡하고 어려워 보여서 거부감이 생기지만 정규식은 잘 배워두면(하지만 잘 배워두는게 쉽지 많은 않죠 ㅠㅠ) 


프로그래밍 뿐만 아니라 서버 console 에서 로그 검색(grep 이나 sed 등과 조합) 정말 여러곳에서 유용하게 사용할수 있습니다. 


이하 2개의 사이트는 정규식 테스트를 해볼수 있는 유용한 사이트 입니다. 

예전에 regex101.com 에서는 정규식 퀴즈도 있어서 정규식을 공부하는게 유용한 기억이 있는데 지금은 없는것 같더군요


https://regexr.com/

https://regex101.com/


그리고 프로그래밍 하다보면 가장 많이 접하는 패스워드 숫자,영문,특문 1자이상 8자리이상 제약 조건 정규식 입니다.

1
2
3
4
5
6
var chkPassword = new RegExp("^(?=.*[0-9])(?=.*[a-z])(?=.*[$@!%*#?&])[a-z0-9$@!%*#?&]{8,}$");
 
chkPassword.test("1!a1");        //false
chkPassword.test("1@3@4678");    //false
chkPassword.test("123aa678");    //false
chkPassword.test("12312#a3");    //true
cs


아래 부분처럼 "A-Z" 조건도 추가 해주시면 대문자도 필수로 1개이상 들어가는 형식으로도 사용 가능합니다.

1
2
var chkPassword = new RegExp("^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[$@!%*#?&])[a-zA-Z0-9$@!%*#?&]{8,}$");
 
cs


자바스크립트로 작성 되있지만 PCRE 에서도 사용 가능한 문법 입니다.


공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크