프로그래밍/Javascript
아이디, 패스워드 패턴 검사는 정규식으로 하자
김퇴근
2020. 6. 5. 18:30
반응형
레거시 소스 분석 중 이런 것을 보았다.
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;
}
반응형