๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ฆฌ์ œ

[resources] 6_์ •๊ทœํ‘œํ˜„์‹.html ๋ณธ๋ฌธ

๊ฐœ๋ฐœ์ž ํ˜ธ์†Œ์ธ

[resources] 6_์ •๊ทœํ‘œํ˜„์‹.html

๋ฆฌ์ œ๐Ÿซง 2026. 6. 29. 12:16

์ •๊ทœ ํ‘œํ˜„์‹(Regular Expression)

์€ ๋ฌธ์ž์—ด์—์„œ ํŠน์ • ํŒจํ„ด์„ ์ฐพ๊ฑฐ๋‚˜, ํ™•์ธํ•˜๊ฑฐ๋‚˜, ์ˆ˜์ •ํ•˜๊ธฐ ์œ„ํ•œ ๊ฐ•๋ ฅํ•œ ๋„๊ตฌ์ด๋‹ค.

ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์„ธ๊ณ„์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ฌธ์ž์—ด ๊ฒ€์‚ฌ๊ธฐ๋ผ ํ•  ์ˆ˜ ์žˆ๋‹ค.

1. ์™œ ํ•„์š”ํ•œ๊ฐ€?

๋งŒ์•ฝ ๋‹น์‹ ์ด ์ˆ˜์ฒœ ๊ฐœ์˜ ๋ฐ์ดํ„ฐ ์ค‘์—์„œ '์ด๋ฉ”์ผ ํ˜•์‹'์ธ ๊ฒƒ๋งŒ ๊ณจ๋ผ๋‚ด์•ผ ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๋ฉด ์ƒ๋‹นํžˆ ํ”ผ๊ณคํ•ด์ง„๋‹ค.

if๋ฌธ์œผ๋กœ ์ผ์ผ์ด "@"์ด ์žˆ๋Š”์ง€, "."์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋ ค๋ฉด ์ฝ”๋“œ๊ฐ€ ๋งค์šฐ ๋ณต์žกํ•ด์ง„๋‹ค

์ •๊ทœ ํ‘œํ˜„์‹์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ณต์žกํ•œ ๊ทœ์น™์„ ํ•œ ์ค„์˜ ์งง์€ ์ฝ”๋“œ๋กœ ์ •์˜ํ•  ์ˆ˜ ์žˆ์–ด ๊ฐ„ํŽธํ•˜๋‹ค.

  • ์ด๋ฉ”์ผ ํ˜•์‹ ํ™•์ธ: test@email.com (๋งž์Œ), test-email (ํ‹€๋ฆผ)
  • ์ „ํ™”๋ฒˆํ˜ธ ํ˜•์‹ ํ™•์ธ: 010-1234-5678 (๋งž์Œ), 01012345678 (ํ˜•์‹ ๋‹ค๋ฆ„)
  • ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ณต์žก๋„ ์ฒดํฌ: ๋Œ€๋ฌธ์ž 1๊ฐœ ์ด์ƒ, ์ˆซ์ž ํฌํ•จ ๋“ฑ

2. ๊ธฐ๋ณธ์ ์ธ ๊ตฌ์„ฑ ์š”์†Œ (๋ฌธ๋ฒ•)

์ •๊ทœ์‹์€ ๊ธฐํ˜ธ๋“ค์˜ ์กฐํ•ฉ์œผ๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค.

์ฃผ์š” ๊ธฐํ˜ธ ๋ช‡ ๊ฐ€์ง€๋งŒ ์•Œ์•„๋„ ์›ฌ๋งŒํ•œ ํŒจํ„ด์€ ์ฝ์„ ์ˆ˜ ์žˆ๋‹ค.

  • ^: ๋ฌธ์ž์—ด์˜ ์‹œ์ž‘
  • $: ๋ฌธ์ž์—ด์˜ ๋
  • [a-z]: ์˜์–ด ์†Œ๋ฌธ์ž ๋ฒ”์œ„
  • [0-9]: ์ˆซ์ž ๋ฒ”์œ„
  • +: ๋ฐ”๋กœ ์•ž์˜ ํŒจํ„ด์ด ํ•œ ๋ฒˆ ์ด์ƒ ๋ฐ˜๋ณต๋จ
  • *: ๋ฐ”๋กœ ์•ž์˜ ํŒจํ„ด์ด 0๋ฒˆ ์ด์ƒ ๋ฐ˜๋ณต๋จ
  • ?: ๋ฐ”๋กœ ์•ž์˜ ํŒจํ„ด์ด 0๋ฒˆ ๋˜๋Š” 1๋ฒˆ ์กด์žฌํ•จ
  • {2,}: ๋ฐ”๋กœ ์•ž์˜ ํŒจํ„ด์ด 2๋ฒˆ ์ด์ƒ ๋ฐ˜๋ณต๋จ

3. ์ •๊ทœ์‹ ํ™œ์šฉ ์˜ˆ์‹œ

 
const emailPattern = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
  • ^[a-zA-Z0-9._%+-]+: ์•„์ด๋”” ๋ถ€๋ถ„(์˜๋ฌธ/์ˆซ์ž/ํŠน์ˆ˜๋ฌธ์ž ์กฐํ•ฉ)์œผ๋กœ ์‹œ์ž‘ํ•œ๋‹ค.
  • @: ๋ฐ˜๋“œ์‹œ @๊ฐ€ ์ค‘๊ฐ„์— ํฌํ•จ๋œ๋‹ค.
  • [a-zA-Z0-9.-]+: ๋„๋ฉ”์ธ ์ด๋ฆ„์ด ์˜จ๋‹ค.
  • \.: ๋ฐ˜๋“œ์‹œ ์ (.)์ด ํฌํ•จ๋œ๋‹ค.
  • [a-zA-Z]{2,}$: ๋งˆ์ง€๋ง‰์€ 2์ž ์ด์ƒ์˜ ์˜๋ฌธ์ž๋กœ ๋๋‚œ๋‹ค.

 

4.์—ฐ์Šต๋ฌธ์ œ

์•„์ด๋””@๋„๋ฉ”์ธ.์ƒ์œ„๋„๋ฉ”์ธ ํ˜•ํƒœ๊ฐ€ ๋งž๋Š”์ง€ ๊ฒ€์‚ฌ ํ›„

//area4์— ์˜ฌ๋ฐ”๋ฅธ ์ด๋ฉ”์ผ ํ˜•์‹ / ์ด๋ฉ”์ผ ํ˜•์‹์ด ์•„๋‹™๋‹ˆ๋‹ค. ๋ผ๋Š” ๋‹ต์ด ๋‚˜์˜ค๊ฒŒ ๋งŒ๋“ค์–ด๋ณด๊ธฐ

        function checkEamil(){
           
        } 

 

 
JavaScript

์ƒ์„ธ ์„ค๋ช…

  1. ์ •๊ทœ ํ‘œํ˜„์‹ (/^[...]$/):
    • ^: ๋ฌธ์ž์—ด์˜ ์‹œ์ž‘์„ ์˜
    • [a-zA-Z0-9._%+-]+: ์•„์ด๋”” ๋ถ€๋ถ„. ์˜๋ฌธ์ž, ์ˆซ์ž, ์ , ๋ฐ‘์ค„ ๋“ฑ์„ ํ—ˆ์šฉ
    • @: ์ค‘๊ฐ„์— ๋ฐ˜๋“œ์‹œ @๊ฐ€ ์žˆ์–ด์•ผ ํ•œ๋‹ค.
    • [a-zA-Z0-9.-]+: ๋„๋ฉ”์ธ 
    • \.: ๋„๋ฉ”์ธ ๋’ค์— ์ (.)์ด ๋ฐ˜๋“œ์‹œ ์žˆ์–ด์•ผ ํ•œ๋‹ค.
    • [a-zA-Z]{2,}: ์ƒ์œ„ ๋„๋ฉ”์ธ์ž…๋‹ˆ๋‹ค. ์˜๋ฌธ์ž๋กœ ์ตœ์†Œ 2์ž ์ด์ƒ
    • $: ๋ฌธ์ž์—ด์˜ ๋์„ ์˜๋ฏธ
  2. .test() ๋ฉ”์„œ๋“œ:
    • ์ •๊ทœ์‹์—์„œ ์ œ๊ณตํ•˜๋Š” ํ•จ์ˆ˜๋กœ, ์šฐ๋ฆฌ๊ฐ€ ์ž…๋ ฅํ•œ email ๋ฌธ์ž์—ด์ด ์œ„ ํŒจํ„ด๊ณผ ์ผ์น˜ํ•˜๋ฉด true๋ฅผ, ์•„๋‹ˆ๋ฉด false๋ฅผ ๋ฐ˜ํ™˜.
  3. area4.innerHTML:
    • document.getElementById("area4")๋ฅผ ํ†ตํ•ด HTML ๋ฌธ์„œ ๋‚ด์˜ area4๋ผ๋Š” id๋ฅผ ๊ฐ€์ง„ ์˜์—ญ์„ ์ฐพ๊ณ ,  ์›ํ•˜๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ํ…์ŠคํŠธ๋กœ ๋„ฃ์–ด์ค€๋‹ค.