etc
정규식에서 한글만 골라야 할 때 주의사항
kingkk31
2021. 4. 1. 19:46
여태 한글외의 문자를 거르는 정규식을 만들 때 [ㄱ-힣]을 사용했었다(아마 많이들 그럴거다).
하지만 여긴 함정이 있다...테스트중에 오류가 있다고 해서 확인해 봤더니 아래 문자가 포함되어 있었는데 진행이 되었다...
㉡
여기서부터 멘붕, 찾아보니 유니코드의 범위문제였었다.
ㄱ : %u3131
힣 : %uD7A3
㉡ : %u3261
즉, 저 요상한 특수문자가 해당 정규식 범위에 들어간다!
여기서부터 이제 일일히 유니코드 표를 보며 범위를 추려야 하나...하고 낙담하고 있었는데...
그러던중 좋은 내용의 글을 찾았다!
haah.kr/2017/08/23/alphabetic-letter-validation/
정규식으로 (한글) 문자만 골라내기
오늘 라라벨 꾸준 코딩 모임에서 나왔던 이야기인데, 라라벨의 유효성 검사 규칙 중 alpha에 관해 써본다. 원문에서는 아래와 같이 정의하고 있다. The field under validation must be entirely alphabetic characte
haah.kr
즉 [ㄱ-ㅣ가-힣] 을 사용하면 해결된다!! 진짜 한번도 생각해본 적 없는 문제를 만나서 당황스러웠다;; 하지만 이렇게 또 하나 알아갔으니 좋은거라 생각하자ㅎㅎ