티스토리 뷰
SW
[javascript] prompt 로 취소를 누를 때까지 email 입력 받아 정규화 해서 배열에 추가 리스트 출력 하기(id 순으로 정렬 포함)
I like simple code 2020. 4. 26. 13:06728x90
이전 글에서 조금 변형된 문제 이다.
이전 글 참조
2020/04/26 - [SW] - [javascript] 자바스크립트 prompt 로 email 입력 받아 검증 해서 출력 하기(email 에 Id 분리 Object에 넣기)
prompt 로 취소를 누를 때까지 email 입력 받아 정규화해서 @ 앞문자들을 ID 로 하고 PW를 입력 받아 출력 까지는 똑같은데 email 조건이 영문자 숫자 4자리 이상으로 변경 되었고 패스워드를 입력 받아 배열에 취소 버튼 누를 때까지 배열에 ID와 PW를 저장 해서 취소 버튼을 누르면 출력 하기. 이때 id 순서대로 오름차순(a~z 순)으로 정렬해야 한다.
이전 글에서 조금 변경된 소스는 다음과 같다.
<script>
const email_re = /^[A-Za-z0-9]{4,}@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i;
const pw_re = /^[A-Za-z0-9]{6,12}$/;
let user_list = [];
// 이메일 입력 받기
while (true) {
let input = prompt("Enter Email");
if (input == null) break; // 취소 버튼 종료
let user_info = {};
if (email_re.test(input)) {
user_info.email = input;
user_info.id = input.split("@")[0];
// 패스워드 입력 받기
while (true) {
input = prompt("Enter Password");
if (pw_re.test(input)) {
user_info.pw = input;
user_list.push(user_info);
break;
} else {
alert("패스워드 다시입력(6~12자리 숫자와 영문자만 사용가능)");
} // if
} // while
} else {
alert("잘못된 이메일 다시입력(이메일 아이디 4자리 이상 숫자와 영문자 사용가능)");
}
}
// 오브젝트에 값이 들어 갔을 때만 출력
if (user_list.length) {
// id 값으로 정렬
user_list.sort(function (a, b) {
if (a.id < b.id) return -1;
if (a.id > b.id) return 1;
return 0;
})
for (let i in user_list) {
console.log("email:" + user_list[i].email);
console.log("id:" + user_list[i].id);
console.log("pw:" + user_list[i].pw);
}
}
</script>
* 참고로 위 소스를 복사해서 붙여 넣기 하면 줄 맞춤이 안되는데 해결 방법은 크롬에서 개발자 도구(윈도우에서 F12번키)를 열어서 F1번 키를 누르면 브라우저 설정창이 나오는데 Disable JavaScript를 체크 하고(설정창 열려있는 상태) 다시 복사를 해서 붙여 넣으면 해결할 수 있다.
'SW' 카테고리의 다른 글
[자바스크립트(javascript)] 객체(Object) 와 프로토타입(prototype)의 활용 (0) | 2020.05.16 |
---|---|
[javascript] 자바스크립트 prompt 로 email 입력 받아 검증 해서 출력 하기(email 에 Id 분리 Object에 넣기) (0) | 2020.04.26 |
[Tools] Visual Studio Code(vs code) 에서 Getter & Setter 자동 생성 (0) | 2020.04.25 |
[JAVA] StreamTokenizer 를 이용한 파서(Parser) (0) | 2020.04.25 |
[JAVA] while 문을 사용해서 십의자리(10)와 일의 자리(1)가 같은 수 출력 하기 (0) | 2020.04.18 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 웹앱프로그래밍
- GIT
- flask
- Visual Studio
- github
- nginx
- mysql
- 도커
- Java
- 부트스트랩
- docker
- javascript
- WEB
- Cloud
- pythonanywhere
- python
- 자바스크립트
- HTML
- 오라클
- 웹앱
- Hello World
- 파이썬
- DB
- 클라우드
- oracle
- 자바
- 플라스크
- GCP
- 웹앱 프로그래밍
- 리눅스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함