반응형
레거시 소스 분석 중 이런 것을 보았다.
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;
}
반응형
'프로그래밍 > Javascript' 카테고리의 다른 글
같은 element에 등록된 여러 이벤트 리스너 호출을 막는 stopImmediatePropagation() (0) | 2020.07.08 |
---|---|
Spring / jQuery ajax 사용시 Uncaught TypeError: Cannot read property 'toLowerCase' of undefined 오류 (0) | 2020.06.30 |
IE에서 [Syntax Error: ':'가 필요합니다] 발생하면 ES6를 사용한 것 (0) | 2020.04.01 |
[Vue.js] 체크박스 값을 boolean(true/false) 대신 'Y/N' 으로 바꾸기 (2) | 2020.03.01 |
jQuery rotate 이미지 회전 시 함정카드 조심 (0) | 2020.02.01 |