Angular.js: ์ด๋ฉ”์ผ ๊ฒ€์‚ฌ๊ธฐ๊ฐ€ ์ž˜๋ชป๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2014๋…„ 01์›” 20์ผ  ยท  26์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: angular/angular.js

์ด๋ฉ”์ผ ์ฃผ์†Œ๋ฅผ ์ž…๋ ฅํ•˜๋Š” ๊ฒฝ์šฐ :
me @ .example.com

์ด๋ฉ”์ผ์ด ์œ ํšจํ•˜๋‹ค๋Š” ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค ..

๋‹ค์Œ URL์—์„œ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค (๋ฌธ์„œ์—์„œ).

http://docs.angularjs.org/api/ng.directive : input.email

moderate bug

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

ng-pattern ์‚ฌ์šฉํ•˜์—ฌ์ด ๋ฌธ์ œ๋ฅผ ๋น ๋ฅด๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

<input type="email" ng-pattern="/^[_a-z0-9]+(\.[_a-z0-9]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/">

๋ชจ๋“  26 ๋Œ“๊ธ€

๋„ค ๋งž์Šต๋‹ˆ๋‹ค. EMAIL_REGEX๊ฐ€ ์ž˜๋ชป๋œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

http://dev.w3.org/html5/markup/input.email.html ์— ๋”ฐ๋ฅด๋ฉด ๋‹ค์Œ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

/^[a-zA-Z0-9.!#$%&โ€™*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/

๊ณผ ๊ฐ™์€ ๊ทธ ๋ชจ์Šต ๋•Œ๋ฌธ์— ํฌํ•จํ•˜์ง€ ์•Š์Œ์— ๋” ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค . ๋‹ค์Œ @

์ด์— ๋Œ€ํ•œ ๋น ๋ฅธ ํŒจ์น˜๋ฅผ ์ œ์ถœํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

... ์‹ค์ œ๋กœ, ์ด๊ฒƒ์€ ์ œ๊ฐ€ ์ƒ๊ฐํ–ˆ๋˜ ๊ฒƒ๋ณด๋‹ค ์กฐ๊ธˆ ๋” ๋ณต์žกํ•ฉ๋‹ˆ๋‹ค. ์กฐ๊ธˆ ๋” ๋งŽ์€ ์ž‘์—…์ด ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งˆ์นจํ‘œ๋กœ ์‹œ์ž‘ํ•˜๋Š” ์ •๊ทœ ํ‘œํ˜„์‹๋„ ํ—ˆ์šฉํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์—ฌ๊ธฐ์„œํ•ด์•ผ ํ•  ์ผ์ด ์•ฝ๊ฐ„ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋ณด๋‹ค ๋จผ์ €์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ์–ธ์ œ๋“ ์ง€ pull request๋ฅผ ์ œ์ถœํ•˜์‹ญ์‹œ์˜ค.

๋ฒ„๊ทธ ์‹ ๊ณ ์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ๋ฌธ์„œ ๋ฐ๋ชจ์—์„œ๋Š” ํ•ญ์ƒ 1.2.9 ๊ฐ๋„ ์Šคํฌ๋ฆฝํŠธ๋ฅผ๋กœ๋“œํ•˜๊ธฐ ๋•Œ๋ฌธ์— 1.2.10์ด ๋–จ์–ด์งˆ ๋•Œ๊นŒ์ง€์ด ์ˆ˜์ • ์‚ฌํ•ญ์„ ์•Œ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ฉฐ์น  ํ›„์— ๋ฌธ์„œ ๋ฐ๋ชจ์—์„œ์ด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค (์ปค๋ฐ‹์ด ๋˜ ๋Œ๋ฆฌ์ง€ ์•Š๋Š” ํ•œ O_O๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Œ).

์ข‹์•„์š”, 10 ๋ฐฐ!

2014 ๋…„ 1 ์›” 22 ์ผ ์ˆ˜์š”์ผ ์˜ค์ „ 5:32, Caitlin Potter [email protected]

๋ฒ„๊ทธ ์‹ ๊ณ ์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ๋ฌธ์„œ ๋ฐ๋ชจ์—์„œ๋Š”์ด ์ˆ˜์ • ์‚ฌํ•ญ์„ ์•Œ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
1.2.9 ๊ฐ๋„ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ํ•ญ์ƒ๋กœ๋“œํ•˜๊ธฐ ๋•Œ๋ฌธ์— 1.2.10์ด ๋–จ์–ด์งˆ ๋•Œ๊นŒ์ง€.
๊ทธ๋Ÿฌ๋‚˜ ๋ฉฐ์น  ํ›„์— ๋ฌธ์„œ ๋ฐ๋ชจ์—์„œ์ด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

โ€”
์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ํšŒ์‹ ํ•˜๊ฑฐ๋‚˜ Gi tHub์—์„œ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.
.

" dummy @ ferferfe "(๋„๋ฉ”์ธ ์—†์Œ)๊ฐ€ ์œ ํšจํ•œ ๋ฉ”์ผ๋กœ ๊ฐ„์ฃผ๋œ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ์•˜์„ ๋•Œ ๋‚ด ํ‘œ์ •์€

@ mica16 ์ด์ง€๋งŒ dummy@ferferfe ์€ ์œ ํšจํ•œ ์ด๋ฉ”์ผ ์ฃผ์†Œ์ž…๋‹ˆ๋‹ค. ๋„๋ฉ”์ธ์—๋Š” ํ™•์žฅ์ž๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. localhost ๋Œ€ํ•ด ์ƒ๊ฐํ•ด๋ณด์„ธ์š”.

@Zequez๋Š” ๋งž์ง€๋งŒ ์˜ˆ๋ฅผ ๋“ค์–ด ์›น ์‚ฌ์ดํŠธ ๋“ฑ๋ก์„ ์œ„ํ•ด ๋กœ์ปฌ ํ˜ธ์ŠคํŠธ ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ๋žŒ์€ ๋ˆ„๊ตฌ์ž…๋‹ˆ๊นŒ?

@mbeckenbach ์‚ฌ์šฉ
ng-pattern = "/ ^ [a-z0-9! # $ % & '* + / =? ^ _`{|} ~ .-] + @ [a-z0-9-] +. [a-z0 -9-] / "
์ด์ƒ์ ์ด์ง€๋Š” ์•Š์ง€๋งŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

@mbeckenbach ์˜ˆ, ์‚ฌ์‹ค์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ ์ด์—†๋Š” ๋„๋ฉ”์ธ ์ด๋ฆ„์€ ์œ ํšจํ•œ ๋„๋ฉ”์ธ์ž…๋‹ˆ๋‹ค. ICANN์ด THEM์— ๋„๋ฉ”์ธ ๋“ฑ๋ก์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค๊ณ ํ•ด์„œ ๋„๋ฉ”์ธ ์ด๋ฆ„์ด ์œ ํšจํ•˜์ง€ ์•Š๋‹ค๋Š” ์˜๋ฏธ๋Š” ์•„๋‹™๋‹ˆ๋‹ค.

6 @ 6 ์€ ์ด๋ฉ”์ผ ์ฃผ์†Œ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ํŠน๋ณ„ํ•œ ์ƒํ™ฉ์—์„œ ์ ์ ˆํ•œ ์ด๋ฉ”์ผ ์ฃผ์†Œ๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค๋Š” ์‚ฌ์‹ค์ด ์ œ ์ƒ๊ฐ์—๋Š” ์šฐ๋ฆฌ๊ฐ€ ๊ทธ๊ฒƒ์„ ํ—ˆ์šฉํ•˜๋„๋ก ์œ ๋„ํ•ด์„œ๋Š” ์•ˆ๋ฉ๋‹ˆ๋‹ค. ์ด ํ—ˆ์šฉ ํŒจํ„ด์„ ํ†ตํ•ด ์‹ค์ˆ˜๊ฐ€ ๋ฐœ์ƒํ•  ํ™•๋ฅ ์€ ๊ทธ๋Ÿฌํ•œ ์ด๋ฉ”์ผ ์ฃผ์†Œ๋ฅผ ๊ฐ€์ง„ ์‚ฌ๋žŒ์„ ์ œ์™ธ ํ•  ํ™•๋ฅ ๋ณด๋‹ค ํ›จ์”ฌ ๋” ํฝ๋‹ˆ๋‹ค.

Jeff์—๊ฒŒ +1

@jeffmcmahan ์ฃ„์†กํ•˜์ง€๋งŒ IETF ๋˜๋Š” WHATWG์— ๋ฌธ์ œ๋ฅผ ์ œ์ถœํ•ด์•ผํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ด๋ฉ”์ผ ์ฃผ์†Œ์˜ ์ •์˜๊ฐ€ ๋ณ€๊ฒฝ๋˜๋ฉด Angular์—์„œ ๋ณ€๊ฒฝํ•ด์•ผํ•˜์ง€๋งŒ ์‹ค์ œ๋กœ RFC ๋ฐ WHATWG ๊ถŒ์žฅ ์‚ฌํ•ญ์— ์„ค๋ช… ๋œ ๋‚ด์šฉ์„ ๋”ฐ๋ผ์•ผํ•ฉ๋‹ˆ๋‹ค.

์ด์ œ ์ข€ ๋” ์—„๊ฒฉํ•˜๊ฒŒํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ํŒจํ„ด ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๊ธฐ๋ฅผ ์ถ”๊ฐ€ํ•ด๋„๋ฉ๋‹ˆ๋‹ค.

@caitp ๋‹น์‹ ์€ ๋ณด์Šค์ž…๋‹ˆ๋‹ค.

EMAIL_REGEXP๋ฅผ ๊ตฌ์„ฑ ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฒƒ์€ ์–ด๋–ป์Šต๋‹ˆ๊นŒ? ์„œ๋ฒ„ ์ธก ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๋Š” angularjs๋ณด๋‹ค ์—„๊ฒฉํ•ฉ๋‹ˆ๋‹ค. ํŠนํžˆ @ ๊ธฐํ˜ธ ์•ž์˜ ๋ถ€๋ถ„์€ 63์ž๋ฅผ ๋„˜์ง€ ์•Š์•„์•ผํ•ฉ๋‹ˆ๋‹ค. ์ด์ œ ๋ชจ๋“  ์ด๋ฉ”์ผ ์ž…๋ ฅ์— ๋Œ€ํ•œ ์‚ฌ์šฉ์ž ์ง€์ • ์ง€์‹œ๋ฌธ์„ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ๊ฐ ์ด๋ฉ”์ผ ์ž…๋ ฅ์— ng-pattern์„ ์ถ”๊ฐ€ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ, @matsko์˜ ๊ฒ€์ฆ ํŒŒ์ดํ”„ ๋ผ์ธ์˜ ๋ณ€ํ™”๋Š” ์‰ฝ๊ฒŒ ์‚ฌ์šฉ์ž ์ •์˜ ์ด๋ฉ”์ผ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๋ฅผ ์ถ”๊ฐ€ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค - ๋‹น์‹ ์€ @rjokelai ์ž…๋ ฅ = ์ด๋ฉ”์ผ ์ด์™ธ์— ๊ฒจ ํŒจํ„ด์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค

"์ด์ œ ์ข€ ๋” ์—„๊ฒฉํ•˜๊ฒŒํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ํŒจํ„ด ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๊ธฐ๋ฅผ ์ถ”๊ฐ€ํ•ด๋„ ๊ดœ์ฐฎ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค."

๊ธฐ๋ณธ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๊ธฐ๋Š” ์ ์ด์žˆ๋Š” ์ผ๋ฐ˜ ์ด๋ฉ”์ผ ๋งŒ ์ˆ˜๋ฝํ•˜๊ณ , ์†Œ์ˆ˜์˜ ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ๋œ ์—„๊ฒฉ ํ•ด์ง€๊ธฐ๋ฅผ ์›ํ•˜๋Š” ๊ฒฝ์šฐ ์ž์ฒด ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๊ธฐ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์™œ ๋Œ€๋‹ค์ˆ˜์˜ ๊ฐœ๋ฐœ์ž๋Š” ์†Œ์ˆ˜๊ฐ€ํ•˜์ง€ ์•Š์•„๋„๋˜๋„๋ก ์ž์‹  ๋งŒ์˜ ํŒจํ„ด์„ ๋งŒ๋“ค์–ด์•ผํ•ฉ๋‹ˆ๊นŒ? ์ด๊ฒƒ์€ ์–ด๋ฆฌ์„์€ ํ‘œ์ค€ ์ˆœ์ˆ˜์ฃผ์˜์ž…๋‹ˆ๋‹ค

์ด๊ฒƒ์ด ๊ธฐ๋ณธ์ ์œผ๋กœ html5 ์ œ์•ฝ ์กฐ๊ฑด ๊ฒ€์ฆ์„์œ„ํ•œ ํด๋ฆฌ ํ•„์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ ์ด์œ ์ž…๋‹ˆ๋‹ค. ๋‹ค์Œ ์ฃผ์—์ด ์ž‘์—…์„ ํ›จ์”ฌ ์‰ฝ๊ฒŒ ์‚ฌ์šฉ์ž ์ •์˜ ํ•  ์ˆ˜์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณต ํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

๋„๋ฉ”์ธ ์˜์—ญ์ด์—†๋Š” ์ด๋ฉ”์ผ์€ ์œ ํšจํ•ฉ๋‹ˆ๊นŒ? type = "email"๋กœ ๊ฐ„๋‹จํ•œ ์ž…๋ ฅ ํ•„๋“œ๋ฅผ ํ…Œ์ŠคํŠธํ•˜๊ณ  ์žˆ์œผ๋ฉฐ Angular๋Š” _foo @ bar_ ์ด๋ฉ”์ผ์„ ์„ฑ๊ณต์ ์œผ๋กœ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. (Angular v1.3.0)

์•„, ์ด๋ฏธ ๋‹ซํžŒ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค โ€” https://github.com/angular/angular.js/issues/9463

๋„๋ฉ”์ธ ์˜์—ญ์ด์—†๋Š” ์ด๋ฉ”์ผ์€ ์œ ํšจํ•ฉ๋‹ˆ๊นŒ? type = "email"๋กœ ๊ฐ„๋‹จํ•œ ์ž…๋ ฅ ํ•„๋“œ๋ฅผ ํ…Œ์ŠคํŠธํ•˜๊ณ  ์žˆ์œผ๋ฉฐ Angular๋Š” foo @ bar ์ด๋ฉ”์ผ์„ ์„ฑ๊ณต์ ์œผ๋กœ ๊ฒ€์ฆํ•ฉ๋‹ˆ๋‹ค. (Angular v1.3.0)

์‚ฌ์–‘์— ๋”ฐ๋ผ ์œ ํšจํ•œ ์ด๋ฉ”์ผ์ž…๋‹ˆ๋‹ค. ์ด ์งˆ๋ฌธ์€์ด ๋ฌธ์ œ ์ถ”์ ๊ธฐ์—์„œ ์—ฌ๋Ÿฌ ๋ฒˆ ๋‹ต๋ณ€๋˜์—ˆ์œผ๋ฉฐ TLD๊ฐ€์—†๋Š” ์ด๋ฉ”์ผ์— ๋Œ€ํ•ด์„œ๋Š” ์œ ํšจํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์›ํ•˜๋Š” ํŠน์ • TLD๋ฅผ ์š”๊ตฌํ•˜๋ ค๋ฉด ์‚ฌ์šฉ์ž ์ง€์ • ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.

@caitp , ๋‚˜๋Š” ์šฐ๋ฆฌ๊ฐ€ ์ด๊ฒƒ์— ๋Œ€ํ•ด ๋‹น์‹ ์„ _0 @ 0_์„ ํ—ˆ์šฉํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์ง€ ์•Š์„ ๊ฒƒ์ž„์„ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค

๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์œ ํšจํ•˜๋‹ค๊ณ  ๋งํ•˜๊ณ  ๊ฐ๋„๊ฐ€ ์œ ํšจํ•˜์ง€ ์•Š๋‹ค๊ณ  ๋งํ•˜๋ฉด ์ •๋ง ์ด์ƒ ํ•  ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

์ด๋ฉ”์ผ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๋ฅผ ์ฐพ๊ณ  ์žˆ์ง€ ์•Š๊ณ  ์ด๋ฉ”์ผ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ์œ„์— ํŒจํ„ด ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๋ฅผ ์ฐพ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค --- ํŠน์ • ํŒจํ„ด (TLD ํฌํ•จ)๊ณผ ์ผ์น˜ํ•˜๋Š” ์œ ํšจํ•œ ์ด๋ฉ”์ผ ์ฃผ์†Œ (๊ฐ๋„๋กœ ์ฒ˜๋ฆฌ๋จ)๋ฅผ ์›ํ•ฉ๋‹ˆ๋‹ค.

  1. ํŒจํ„ด ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๋ฅผ ์ถ”๊ฐ€ ํ•œ ๋‹ค์Œ "๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์œ ํšจํ•˜๋‹ค๊ณ  ๋งํ•˜๊ณ  [A] ngular๋Š” ์œ ํšจํ•˜์ง€ ์•Š๋‹ค๊ณ  ๋งํ•˜๋ฉด"์ด์ƒํ• ๊นŒ์š”? ์•„๋‹ˆ์š”. ๊ทธ๋ ‡๋‹ค๋ฉด ํŒจํ„ด ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๊ฐ€ ๋‚ด์žฅ๋˜์–ด ์žˆ๋‹ค๋ฉด ์™œ ์ด์ƒํ• ๊นŒ์š”?
  2. ์šฐ๋ฆฌ ๋ชจ๋‘๋Š” ์šฐ๋ฆฌ๊ฐ€ ๊ด€์‹ฌ์žˆ๋Š” ์‚ฌ์šฉ ์‚ฌ๋ก€์—์„œ ์œ ํšจํ•œ ์ด๋ฉ”์ผ์„ ์ „๋‹ฌํ•˜๋Š” ๊ฒƒ์ด ์‚ฌ์–‘๋ณด๋‹ค ์ข๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

_Angular๊ฐ€ ๋‚ด๊ฐ€ ๊ด€์‹ฌ์žˆ๋Š” ์‚ฌ์šฉ ์‚ฌ๋ก€๋ฅผ ์ œ๊ณตํ•˜์ง€ ์•Š์•„์•ผํ•˜๋Š” ์ด์œ ๋ฅผ ์•Œ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์ธ ๊ฒฝ์šฐ์ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค ._

๊ทธ๋ ‡๋‹ค๋ฉด ํŒจํ„ด ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๊ฐ€ ๋‚ด์žฅ๋˜์–ด ์žˆ๋‹ค๋ฉด ์™œ ์ด์ƒํ• ๊นŒ์š”?

์‹ค์ œ๋กœ ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋™์ผํ•œ ๋™์ž‘์„ ์–ป์Šต๋‹ˆ๋‹ค. http://jsfiddle.net/t6rdmngo/ ์ตœ์‹  ๋ธŒ๋ผ์šฐ์ €์—์„œ ์‹คํ–‰ํ•˜๋Š” ๊ฒฝ์šฐ TLD๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š์œผ๋ฉด ํŒจํ„ด ๋ถˆ์ผ์น˜๋กœ ์ธํ•ด ์ตœ์ƒ์œ„ ์–‘์‹์„ ์ œ์ถœํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๊ฐ๋„ ๋ฒ„์ „์—์„œ ๋™์ผํ•œ ๋™์ž‘์„ ์–ป์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์ข‹๋‹ค. ์ด๊ฒƒ์ด ์šฐ๋ฆฌ๊ฐ€ ์›ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋„ค์ดํ‹ฐ๋ธŒ ๋™์ž‘๊ณผ ํ”„๋ ˆ์ž„ ์›Œํฌ ๋™์ž‘ ๊ฐ„์˜ ๋™์ผํ•œ ๋™์ž‘. ํ”„๋ ˆ์ž„ ์›Œํฌ๋Š” ํ”Œ๋žซํผ๊ณผ ์˜๊ฒฌ์ด ์ผ์น˜ํ•˜์ง€ ์•Š์•„์•ผํ•ฉ๋‹ˆ๋‹ค.

์ด์ œ ์•Œ๊ฒ ๋‹ค. ์ฐธ์•„ ์ค˜์„œ ๊ณ ๋งˆ์›Œ!

ng-pattern ์‚ฌ์šฉํ•˜์—ฌ์ด ๋ฌธ์ œ๋ฅผ ๋น ๋ฅด๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

<input type="email" ng-pattern="/^[_a-z0-9]+(\.[_a-z0-9]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/">

์ •๊ทœ์‹์—์„œ ๋งˆ์ง€๋ง‰ *๋ฅผ +๋กœ ๋ณ€๊ฒฝํ•˜๋ฉด ์˜ˆ์ƒ๋Œ€๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

http://w3c.github.io/html-reference/input.email.html

/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:.[a -zA-Z0-9-] +) + $ /

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰