isNaN()
// 핸들러함수
function checkForm(){
// document.frm.name.value를 "1admin"
// "1admin".substr(0, 1) => substr(index, count) => 1
if(!isNaN(document.frm.name.value.substr(0, 1))){
alert("이름은 숫자로 시작할 수 없습니다.");
}
}
// 아이디 비밀번호 조건 체크하는 핸들러 함수
function checkLogin(){
// object
let form = document.loginForm;
// form.id.value : admin(length : 5)
for(i = 0; i < form.id.value.length; i++){
let ch = form.id.value.charAt(i); // i : 0(a) ~ 4(n)
// 아이디는 영문 소문자만 가능
if((ch < 'a' || ch > 'z') && (ch > 'A' || ch < 'Z')
&& (ch > '0' || ch < '9')){
alert("아이디는 영문 소문자만 입력 가능!");
form.id.select();
// 여기서 멈춤 / break는 for문 멈추게 하는 반면, return은 함수를 멈춤
return;
}
}
alert("통과");
// 비밀번호는 숫자만 입력 가능
if(isNaN(form.passwd.value)){
alert("비밀번호는 숫자만 입력 가능!");
form.passwd.select();
return; // 함수 종료
}
// 아이디 및 비밀번호 유효성 검사 통과 시
form.submit(); // 폼 페이지에 입력된 폼 데이터 값을 서버로 전송(request객체 통해)
}
문자열 특정 형태를 찾아내기 위해 패턴으로 표현한 수식
test() - 정규 표현식에 부합하는지 판단 => true/false를 반환 -> if문 적합
exec() - 정규 표현식에 부합된 문자열 추출하여 반환
^x - 문자열 x로 시작
x$ - 문자열 x로 종료
.x - x로 끝나는 임의의 한 문자
x+ - 한 번 이상 반복
x? - x가 존재하거나 존재하지 않음
x* - x가 0번 이상 반복
x|y - x 또는 y 찾기
x{n} - x를 n번 반복한 문자 찾음(ex. s{3} => sss)
x{n,} - x를 n번 이상 반복한 문자 찾음
x{n,m} - x를 n번 이상 m번 이하 반복한 문자 찾음