๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
[๊ฐœ๋ฐœ] Practice/JavaScript jQuery

[JavaScript / jQuery] ๋ชจ๋‹ฌ์ฐฝ ๋‚ด ๋น„๋ฐ€๋ฒˆํ˜ธ ์กฐ๊ฑด ๋ฏธ๋‹ฌ ๊ฒฝ๊ณ  ๋ฉ”์‹œ์ง€ ๋งŒ๋“ค๊ธฐ

by Connecting-the-dots 2022. 3. 4.
728x90
๋ฐ˜์‘ํ˜•

๐Ÿ’ก ์‹ค์Šต ํฌ์ธํŠธ!

  • ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ 8์ž๋ฆฌ ์ด์ƒ์œผ๋กœ ์„ค์ •ํ•˜๋„๋ก ์œ ๋„ํ•˜๊ธฐ ์œ„ํ•ด, ๋น„๋ฐ€๋ฒˆํ˜ธ ์ž…๋ ฅ์ฐฝ์ด ๊ณต๋ฐฑ์ด ์•„๋‹ˆ๊ณ  8์ž๋ฆฌ ๋ฏธ๋งŒ์œผ๋กœ ์ž…๋ ฅํ–ˆ์„ ๊ฒฝ์šฐ ๋น„๋ฐ€๋ฒˆํ˜ธ ์ž…๋ ฅ์ฐฝ ํ•˜๋‹จ์— "๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ 8์ž๋ฆฌ ๋ฏธ๋งŒ์ž…๋‹ˆ๋‹ค." ๋ผ๋Š” ๋ฌธ๊ตฌ๊ฐ€ ๋‚˜ํƒ€๋‚˜๋„๋ก ํ–ˆ๋‹ค.
  • ์ด ๋•Œ ํ™œ์šฉํ•œ ์ด๋ฒคํŠธ๋Š” input ์ด๋ฒคํŠธ์ธ๋ฐ, ์ด๋ฒˆ ์ˆ˜์—…์—์„œ input ์ด๋ฒคํŠธ์™€ change ์ด๋ฒคํŠธ์˜ ์ฐจ์ด์— ๋Œ€ํ•ด์„œ ๊ณต๋ถ€ํ–ˆ๋‹ค.
    • ๋จผ์ €, input ์ด๋ฒคํŠธ๋Š” input ์— ์ž…๋ ฅํ•œ ๊ฐ’์ด ๋ฐ”๋€” ๋•Œ๋งˆ๋‹ค ๋ฐœ์ƒํ•˜๋Š” ์ด๋ฒคํŠธ์ด๋‹ค.
    • change ์ด๋ฒคํŠธ๋Š” input ์ด๋ฒคํŠธ์™€ ์œ ์‚ฌํ•ด๋ณด์ด์ง€๋งŒ input ์— ์ž…๋ ฅํ•œ ๊ฐ’์ด ๋ฐ”๋€Œ๊ณ ๋‚˜์„œ ํฌ์ปค์Šค๋ฅผ ์žƒ์„ ๋•Œ์—์„œ์•ผ ๋น„๋กœ์†Œ ๋ฐœ์ƒํ•˜๋Š” ์ด๋ฒคํŠธ์ด๋‹ค.

๐Ÿ’œ HTML

<div id="pw-text">๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ 8์ž๋ฆฌ ๋ฏธ๋งŒ์ž…๋‹ˆ๋‹ค.</div>
  • ์ผ๋‹จ id ๊ฐ€ password ์ธ ํƒœ๊ทธ ์•„๋ž˜์— ์œ„์™€ ๊ฐ™์ด ๊ฒฝ๊ณ  ๋ฌธ๊ตฌ๋ฅผ ๋„ฃ์€ div ๋ฐ•์Šค ํƒœ๊ทธ๋ฅผ ๋„ฃ์–ด์ฃผ์—ˆ๋‹ค.

๐Ÿ’œ CSS

#pw-text {
  color: red;
  font-weight: bold;
  margin-top: 5px;
}
  • ์•„๋ฌด๋ž˜๋„ ๊ฒฝ๊ณ ์˜ ๋Š๋‚Œ์ด ๋‚˜์•ผํ•˜๋‹ˆ๊นŒ ๊ตต๊ณ  ๋นจ๊ฐ„ ๊ธ€์”จ๋กœ ๋งŒ๋“ค์–ด์ฃผ์—ˆ๋‹ค.

๐Ÿ’œ JavaScript

$('#pw-text').hide();
$('#password').on('input', function(){
    if($('#password').val() != '' && $('#password').val().length < 8){
        $('#pw-text').show();
    } else {
        $('#pw-text').hide();
    }
})
  • ๋น„๋ฐ€๋ฒˆํ˜ธ ์ž…๋ ฅ์ฐฝ ์•„๋ž˜์— ๊ฒฝ๊ณ  ๋ฌธ๊ตฌ๋Š” ์ฒซ ํ™”๋ฉด์—์„œ๋Š” ๋ณด์ด์ง€ ์•Š์•„์•ผ ํ•˜๋ฏ€๋กœ jQuery ๋ฌธ๋ฒ•์˜ hide ๋ฅผ ์ด์šฉํ•ด์„œ ์ผ๋‹จ ์ˆจ๊ฒจ์ฃผ์—ˆ๋‹ค.
  • ๊ทธ๋ฆฌ๊ณ  input ์ด๋ฒคํŠธ์™€ jQuery ๋ฌธ๋ฒ•์˜ show ๋ฅผ ํ™œ์šฉํ•ด์„œ ๋น„๋ฐ€๋ฒˆํ˜ธ ์ž…๋ ฅ์ฐฝ์— ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•  ๋•Œ, ์ž‘์„ฑ๋œ ๋‚ด์šฉ์ด ์žˆ๋Š”๋ฐ ๊ทธ ์ž‘์„ฑ๋œ ๋‚ด์šฉ์˜ ๊ธธ์ด๊ฐ€ 8๋ณด๋‹ค ์ž‘์€ ๊ฒฝ์šฐ์—๋งŒ ๊ฒฝ๊ณ  ๋ฌธ๊ตฌ๊ฐ€ ๋ณด์—ฌ์ง€๊ฒŒ ํ–ˆ๋‹ค.
  • ๊ทธ๋ฆฌ๊ณ  ๋‚˜๋จธ์ง€์˜ ๊ฒฝ์šฐ์—๋Š” ๋‹ค์‹œ hide ์ฒ˜๋ฆฌ๋ฅผ ํ•˜์—ฌ ํ•ด๋‹น ๊ฒฝ๊ณ  ๋ฌธ๊ตฌ๊ฐ€ ๋ณด์—ฌ์ง€์ง€ ์•Š๋„๋กœ ํ•ด์ฃผ์—ˆ๋‹ค.
728x90
๋ฐ˜์‘ํ˜•