<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>JS05.문자열객체.html</title>
<script>
//charAt(index): 문자열에서 인덱스 번호에 해당하는 문자를 얻는다.
//indexOf('찾을 문자'): 문자열에서 '찾을 문자'에 해당하는 인덱스 번호를 얻는다. 문자열에서 찾을 문자가 없으면 -1을 반환한다.
//lastIndexOf('찾을 문자'): 문자열에서 '찾을 문자'를 오른쪽부터 왼쪽으로 찾아서 인덱스 번호를 얻는다. 문자열에서 찾을 문자가 없으면 -1을 반환한다.
//replace('원본문자', '새문자'): 문자열에서 '원본 문자'를 '새 문자'로 바꾼다.
//substring(index1, index2): 문자열에서 인덱스 번호 index1 부터 index2까지 반환한다.(index2는 포함되지 않는다.)
var str = '안녕하세요. 안명신님';
document.write(str.charAt(2)+'<br>');
document.write(str.indexOf('녕')+'<br>');
document.write(str.replace('명', '우')+'<br>');
document.write(str.substring(1, 3)+'<br>');
document.write(str.substr(1, 3)+'<br>'); //인덱스 번호 1번부터 3글자 반환한다.
document.write(str.length+'<br>'); //문자열의 문자 개수를 반환한다.
//<문제> 질의응답 창(prompt())에서 입력한 영문 이름은 대문자로 출력(toUpperCase())하고, 입력한 연락처는 뒤의 네 자리를 '*'로 출력한다.
var engName = prompt('영문 이름을 입력하세요.', '');
document.write(engName.toUpperCase()+'<br>');
var phoneNum = prompt('연락처를 입력하세요.', '');
var result = phoneNum.substring(0, phoneNum.length - 4) + '****';
document.write(result, '<br>');
//<문제>이메일 주소 형식 유효성 검증
var email = prompt('이메일을 입력하세요.', '');
var url = ['.co.kr', '.com', '.net', '.or.kr', '.go.kr', '.org'];
var check1 = false;
var check2 = false;
//check1에서는 @의 유무를 체크한다.
if(email.indexOf('@') > 0) check1 = true;
//check2에서는 url 배열의 원소와 비교해서 같으것이 있으면 true를 반환하다.
for(var i=0; i<url.length; i++) {
if(email.indexOf(url[i]) > 0) check2 = true;
}
if(check1 && check2) document.write(email);
else alert('이메일 형식이 잘못되었습니다.');
</script>
</head>
<body>
</body>
</html>