๐ ์ธ์คํ๊ทธ๋จ ํด๋ก ์ฝ๋ฉ (๋ก๊ทธ์ธ)
๊ตฌํ ๋ด์ฉ!
- id , pw๋ฅผ ์ ๋ ฅ ํ๋ input , ๋ก๊ทธ์ธ button ์์ฑ
- id , pw์ validation(์ ํจ์ฑ ๊ฒ์ฌ) ์คํ
1. id์ '@' ๋ฅผ ํฌํจ.
2. pw์ ๊ธ์์๊ฐ 5๊ธ์ ์ด์.
3. ๊ธฐ๋ณธ์ ์ผ๋ก ๋ก๊ทธ์ธ ๋ฒํผ์ ๋นํ์ฑํ ์ํ์ฌ์ผํจ.
4. ์์ ๋ ์กฐ๊ฑด์ ๋ง์กฑํ ์ ๋ก๊ทธ์ธ ๋ฒํผ์ ํ๋์์ผ๋ก ํ์ฑํ.- ์ ํจ์ฑ ๊ฒ์ฌ์์ ์ด๋ฒคํธ ๋ฆฌ์ค๋์ ์ผํญ ์ฐ์ฐ์ ์ฌ์ฉ.
๊ตฌํ ํ ์ฝ๋
let id1 = document.querySelector(".id")
let pw1 = document.querySelector(".pw")
let butt = document.querySelector(".button")
const loginForm = document.getElementById('loginForm');
//
loginForm.addEventListener('input' ,function() {
const idVal = id1.value;
const pwVal = pw1.value;
idVal.includes("@") ==true && pwVal.length >= 5 ? (
butt.disabled = false,
butt.style.backgroundColor = "blue"
) : (
butt.disabled = true
)
})
๋์ ์๋ฆฌ
-
loinForm (id์ pw๋ฅผ ๋ฌถ์ form์ className) ์์ ์คํ,
input์ ์กฐ๊ฑด์ผ๋ก ์คํ ๋๋ ์ด๋ฒคํธ ๋ฆฌ์ค๋ ์ ์ธ. -
.value ๋ฅผ ํตํด idVal, pwVal ๋ณ์์ ๋ก๊ทธ์ธ ์ฐฝ์์ ์ ๋ ฅ๋๋ ๊ฐ์ ์ ์ฅ ํ ์ ์๋๋ก ํจ.
-
idVal์์๋ @์ ๋ฌธ์๊ฐ ํฌํจ๋์ด ์๋์ง, pwVal์์๋ ๊ธ์์๊ฐ 5์ ์ด์์ด ๋๋์ง ๊ฒ์ฌํ๊ณ ์กฐ๊ฑด์ ์ถฉ์กฑํด์ผ๋ง ์คํ๋๋ if๋ฌธ ์์ฑ.
-
์ผํญ ์ฐ์ฐ์๋ฅผ ํตํด ์์ ์กฐ๊ฑด์ ์ถฉ์กฑํ๋ค๋ฉด ๋ก๊ทธ์ธ ๋ฒํผ์ ์ ์ธํ disabled ์์ฑ์ด false๊ฐ ๋๋ฉฐ ๋ฒํผ ํ์ฑํ , ์กฐ๊ฑด์ ์ถฉ์กฑํ์ง ๋ชปํ๋ค๋ฉด true๋ก ๋ก๊ทธ์ธ ๋ฒํผ์ ๋นํ์ฑํ ์ ์ง.
disabled
HTML์ 'button', 'input' ํ๊ทธ๋ฅผ ์ฌ์ฉํ ๋ฒํผ์ ํ์ฑํ/๋นํ์ฑํ ํ ๋๋ disabled ์์ฑ์ ์ด์ฉํ๋ค.
target.disabled = false;
target.disabled = true;
์ ํ๋ ๋ฒํผ element์ disabled ๊ฐ์ true/false๋ก ์ค์ ํ๋ค.
disabled ๊ฐ์ด true์ด๋ฉด ๋ฒํผ์ด ๋นํ์ฑํ ๋๊ณ , false์ด๋ฉด ํ์ฑํ ๋๋ค.
์ผํญ ์กฐ๊ฑด ์ฐ์ฐ์
idVal.includes("@") ==true && pwVal.length >= 5 ? (
butt.disabled = false,
butt.style.backgroundColor = "blue"
) : (
butt.disabled = true
)
์กฐ๊ฑด๋ถ ์ผํญ ์ฐ์ฐ์๋ JavaScript์์ ์ธ ๊ฐ์ ํผ์ฐ์ฐ์๋ฅผ ์ทจํ ์ ์๋ ์ ์ผํ ์ฐ์ฐ์๋ค.
๋งจ ์์ ์กฐ๊ฑด๋ฌธ์ด ๋ค์ด๊ฐ๊ณ , ๊ทธ ๋ค๋ก ๋ฌผ์ํ(?)์ ์กฐ๊ฑด์ด ์ฐธtruthy์ด๋ผ๋ฉด ์คํํ ์์ด ๋ฌผ์ํ ๋ค๋ก ๋ค์ด๊ฐ๋ค.
๋ฐ๋ก ๋ค๋ก ์ฝ๋ก (:)์ด ๋ค์ด๊ฐ๋ฉฐ ์กฐ๊ฑด์ด ๊ฑฐ์งfalsy์ด๋ผ๋ฉด ์คํํ ์์ด ๋ง์ง๋ง์ ๋ค์ด๊ฐ๋ค.
๋ณดํต if ๋ช
๋ น๋ฌธ์ ๋จ์ถ ํํ๋ก ์ฐ์ธ๋ค.
๊ฒฐ๊ณผ๋ฌผ
๋๋ฌด ๋ฟ๋ฏํด!!๐๐
Author And Source
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(๐ ์ธ์คํ๊ทธ๋จ ํด๋ก ์ฝ๋ฉ (๋ก๊ทธ์ธ)), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://velog.io/@yshh0514/์ธ์คํ๊ทธ๋จ-ํด๋ก -์ฝ๋ฉ-๋ก๊ทธ์ธ์ ์ ๊ท์: ์์์ ์ ๋ณด๊ฐ ์์์ URL์ ํฌํจ๋์ด ์์ผ๋ฉฐ ์ ์๊ถ์ ์์์ ์์ ์ ๋๋ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ ์ธ ๋ฐ๊ฒฌ์ ์ ๋ (Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค