본문 바로가기

프로그래밍/Javascript

아이디, 패스워드 패턴 검사는 정규식으로 하자

반응형

레거시 소스 분석 중 이런 것을 보았다.

var alphaDigit = "abcdefghijklmnopqrstuvwxyz1234567890";
for (i=0; i < userId.length; i++) {
    if (alphaDigit.indexOf(userId.substring(i, i+1)) < 0) {
        alert("아이디는 영문소문자와 숫자의 조합만 사용할 수 있습니다.");
        return false;
    }
}

여기 뿐만 아니라 여기저기에 코딩 초보의 티가 많이 나는 소스이다. 문자열 패턴 검사에는 정규식이라는 좋은 것이 있다. 정규표현식 혹은 정규식이라고 검색하면 많이 나온다.

정규식을 사용하면 위 코드를 아래처럼 바꿀 수 있다.

if (!/^[a-z0-9]{4,10}$/gi.test(userId)) {
    alert("아이디는 4~10자리 영문소문자와 숫자의 조합만 사용할 수 있습니다.");
    return false;
}
반응형

개발자가 그리는 인스타툰 팔로우하세요!