728x90
๋ฐ์ํ
๐ก ์ค์ต ํฌ์ธํธ!
- ์ด๋ฒ ์ค์ต์์๋ ์ ๊ท์์ผ๋ก ์ด๋ฉ์ผ๊ณผ ๋น๋ฐ๋ฒํธ๋ฅผ ๊ฒ์ฆํ๋ ๊ธฐ๋ฅ์ ๋ง๋ค์๋๋ฐ ๊ณ ๋ คํด์ผํ๋ ๊ฒ๋ค์ด ์๊ฐ๋ณด๋ค ๋ง์๋ค.
- ์ ๋ ฅํ ์์ด๋๊ฐ ์ด๋ฉ์ผ ํ์์ด ์๋๋ฐ ์ ์ก์ ๋๋ฅด๋ฉด "์ด๋ฉ์ผ ํ์์ ์์ด๋๊ฐ ์๋๋๋ค." ๋ผ๋ ๋ฌธ๊ตฌ์ ๊ฒฝ๊ณ ์ฐฝ ๋์ฐ๊ธฐ
- ์ ๋ ฅํ ๋น๋ฐ๋ฒํธ๊ฐ 8์๋ฆฌ ๋ฏธ๋ง์ด๊ฑฐ๋ 16์๋ฆฌ ์ด๊ณผ๋ผ๋ฉด ๋น๋ฐ๋ฒํธ ์ ๋ ฅ์ฐฝ ์๋์ ํด๋น ๊ฒฝ๊ณ ๋ฌธ๊ตฌ ๋์ฐ๊ณ ์์ ํด์ ๋ณ๊ฒฝ๋๋ฉด ํด๋น ์ํ์ ๋ง๋ ๊ฒฝ๊ณ ๋ฌธ๊ตฌ๋ฅผ ๋์ฐ๊ฑฐ๋ ์์ ๊ธฐ
- ์ ๋ ฅํ ๋น๋ฐ๋ฒํธ ์๋ฆฌ ์๊ฐ ์กฐ๊ฑด ๋ฒ์(8~16์๋ฆฌ)๋ฅผ ๋ฒ์ด๋ ์ํ์์ ์ ์ก์ ๋๋ฅด๋ฉด ๊ฐ ์ํ์ ํด๋นํ๋ ๋ฌธ๊ตฌ์ ๊ฒฝ๊ณ ์ฐฝ ๋์ฐ๊ธฐ
- ์ ๋ ฅํ ๋น๋ฐ๋ฒํธ ์๋ฆฌ ์๊ฐ ์กฐ๊ฑด ๋ฒ์(8~16์๋ฆฌ)์ ํด๋นํ ์ง๋ผ๋ ํน์๋ฌธ์์ ์ซ์, ์๋ฌธ ์กฐํฉ์ด ์๋๋ผ๋ฉด ํด๋น ๋ด์ฉ์ ๋ด์ ๊ฒฝ๊ณ ์ฐฝ ๋์ฐ๊ธฐ
- ๋ชจ๋ ์กฐ๊ฑด์ ๋ง์กฑํ์ ๋ ์ ์ก์๋ฃํ์ด์ง๋ก ์ ์ํ๊ธฐ
- ์ด์ธ์๋ ์ด๊ฒ์ ๊ฒ ๋๋ฌ๋ณด๋ค๊ฐ ๋ฐ๊ฒฌํ๋ ์์ฌ์ด ์ ๋ค์ ๋ณด์ํ๋ค.
- ๋ซ๊ธฐ ๋ฒํผ์ ๋๋ ๋ค๊ฐ ๋ค์ ๋ก๊ทธ์ธ ๋ฒํผ์ ๋๋ ์ ๋ ์ด์ ์ ์ ๋ ฅํ๋ ๋ด์ฉ์ด ๋จ์์์ง ์๋๋ก!
- ๋ซ๊ธฐ ๋ฒํผ์ ๋๋ ๋ค๊ฐ ๋ค์ ๋ก๊ทธ์ธ ๋ฒํผ์ ๋๋ ์ ๋ ์ด์ ์ ๋น๋ฐ๋ฒํธ ์ ๋ ฅํ ๋ ๋ด๋ ๊ฒฝ๊ณ ๋ฌธ๊ตฌ๊ฐ ๋จ์ง ์๋๋ก!
๐ HTML
<div class="black-bg">
<div class="white-bg">
<h4>๋ก๊ทธ์ธํ์ธ์</h4>
<form action="success.html">
<div class="my-3">
<input type="text" class="form-control" id="email" placeholder="์ด๋ฉ์ผ ํ์์ ์์ด๋๋ฅผ ์
๋ ฅํ์ธ์.">
</div>
<div class="my-3">
<input type="password" class="form-control" id="password" placeholder="์๋ฌธ, ์ซ์, ํน์๋ฌธ์๋ฅผ ์ต์ ํ ๊ฐ์ง์ฉ ์กฐํฉํ์ฌ 8~16์๋ฆฌ ๋น๋ฐ๋ฒํธ๋ฅผ ์
๋ ฅํ์ธ์.">
<div id="pw-text1">๋น๋ฐ๋ฒํธ๊ฐ 8์๋ฆฌ ๋ฏธ๋ง์
๋๋ค.</div>
<div id="pw-text2">๋น๋ฐ๋ฒํธ๊ฐ 16์๋ฆฌ ์ด๊ณผ์
๋๋ค.</div>
</div>
<button type="submit" class="btn btn-primary" id="submit">์ ์ก</button>
<button type="button" class="btn btn-danger" id="close">๋ซ๊ธฐ</button>
</form>
</div>
</div>
๐ CSS
.black-bg {
width: 100%;
height: 100%;
position: fixed;
background: rgba(0, 0, 0, 0.6);
z-index: 5;
padding: 30px;
visibility: hidden; /* ์ ๋๋ฉ์ด์
์ค ๋ display: none ๋์ฉ, ์์ ๋ ๊ฒ ์๋๋ผ ๋ชจ์ต๋ง ์จ๊น */
opacity: 0;
transition: all 0.5s;
}
.white-bg {
background: white;
border-radius: 5px;
padding: 30px;
}
#pw-text1,
#pw-text2 {
color: red;
font-weight: bold;
margin-top: 5px;
font-size: 12px;
}
๐ JavaScript
$('#close').on('click', function(){
$('#email').val('');
$('#password').val('');
$('#pw-text1').hide();
$('#pw-text2').hide();
$('.black-bg').eq(0).toggleClass('show');
})
function isEmail(asValue) {
var regExp = /^[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*\.[a-zA-Z]{2,3}$/i;
return regExp.test(asValue);
}
function isPassword(asValue) {
var regExp = /^(?=.*[a-zA-z])(?=.*[0-9])(?=.*[$`~!@$!%*#^?&\\(\\)\-_=+]).{8,16}$/;
return regExp.test(asValue);
}
$('#submit').on('click', function(e){
if($('#email').val() == '') {
e.preventDefault();
alert('์์ด๋๋ฅผ ์
๋ ฅํ์ธ์.');
} else if(!isEmail($('#email').val())) {
e.preventDefault();
alert('์ด๋ฉ์ผ ํ์์ ์์ด๋๊ฐ ์๋๋๋ค.');
}
if ($('#password').val() == '') {
e.preventDefault();
alert('๋น๋ฐ๋ฒํธ๋ฅผ ์
๋ ฅํ์ธ์.');
} else if ($('#password').val().length < 8 || $('#password').val().length > 16) {
e.preventDefault();
alert('๋น๋ฐ๋ฒํธ๋ 8~16์๋ฆฌ์ฌ์ผ ํฉ๋๋ค.');
} else if(!isPassword($('#password').val())) {
e.preventDefault();
alert('์๋ฌธ, ์ซ์, ํน์๋ฌธ์๋ฅผ ์ต์ ํ ๊ฐ์ง์ฉ ์กฐํฉํ์ฌ 8~16์๋ฆฌ ๋น๋ฐ๋ฒํธ๋ฅผ ์
๋ ฅํ์ธ์.');
}
})
$('#pw-text1').hide();
$('#pw-text2').hide();
$('#password').on('input', function(){
if($('#password').val() != ''){
if($('#password').val().length < 8){
$('#pw-text1').show();
$('#pw-text2').hide();
} else if ($('#password').val().length > 16){
$('#pw-text1').hide();
$('#pw-text2').show();
} else {
$('#pw-text1').hide();
$('#pw-text2').hide();
}
} else {
$('#pw-text1').hide();
$('#pw-text2').hide();
}
})
- ์ ๊ท์์ ๊ฒฝ์ฐ ๊น๋ํ ์ฌ์ฉ์ ์ํด ๋ฐ๋ก ํจ์๋ก ๋ง๋ค์ด๋๊ณ ํ์ํ ๋ถ๋ถ์ ๋ฃ์ด ์ฌ์ฉํ๋ค.
- ์์ด๋, ๋น๋ฐ๋ฒํธ, ์ด๋ฉ์ผ, ์ ํ๋ฒํธ ๋ฑ ๋ก๊ทธ์ธ ๊ด๋ จ ๊ธฐ๋ฅ์ ๋ง๋ค๋ค๋ณด๋ฉด ์ ๊ท์์ด ํ์ํ ๋๊ฐ ์๋๋ฐ, ๊ฐ์ฌํ๊ฒ๋ ๋ง์นจ ์์ฃผ ์ฐ๋ ์ ๊ท์์ ๊น๋ํ๊ฒ ์ ๋ฆฌํ์ฌ ๋ชจ์๋์ ๋ถ์ด ๊ณ์ ์ ๊ทธ ๋ถ์ ์ฌ์ดํธ๋ฅผ ์ฐธ๊ณ ํ๋ค.
728x90
๋ฐ์ํ