Join_using_Ajax.html 8.14 KB
<!DOCTYPE html>
<html lang="ko">

<head>
    <meta charset="utf-8">
    <title>회원가입</title>
    <link rel="stylesheet" href="http://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
    <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
    <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
    <script>
        $(function () {
            $("#datepicker").datepicker();
        });
    </script>

    <style>
        body {
            background: #34495e;
            margin: 0;
        }

        .box {
            width: 300px;
            padding: 40px;
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            background: #191919;
            text-align: center;
        }

        .box h1 {
            color: white;
            text-transform: uppercase;
            font-weight: 500;
        }

        .box input[type="text"],
        .box input[type="password"],
        .box input[type="email"] {
            border: 0;
            background: none;
            margin: 20px auto;
            text-align: center;
            border: 2px solid #3498db;
            padding: 14px 10px;
            width: 200px;
            outline: none;
            color: white;
            border-radius: 24px;
            transition: 0.25s;
            cursor: pointer;
        }

        .box input[type="text"]:focus,
        .box input[type="password"]:focus,
        .box input[type="email"]:focus {
            width: 280px;
            border-color: #2ecc71;

        }

        .box input[type="submit"]:hover,
        .box input[type="button"]:hover,
        .box input[type="reset"]:hover {
            background: #2ecc71;
        }

        .ui-widget-header {
            background: navy;
            color: #fff;
        }

        input[class="btn"] {
            border: none;
            color: white;
            font-family: NanumSquareWeb;
            font-size: large;
            font-weight: bold;
            text-align: center;
            border-radius: 20px;
            width: 32%;
            height: 40px;
            float: left;
        }

        input[id="submit"] {
            background-color: #191919;
            border: 2px solid #3498db;
        }

        input[id="reset"] {
            background-color: #191919;
            border: 2px solid #3498db;
        }

        input[id="back"] {
            background-color: #191919;
            border: 2px solid #3498db;
        }

        button img {
            width: 90%;
        }

        @media(max-width: 577px) {
            input[class='btn'] {
                width: 100%;
            }
        }
    </style>
    <span id="alert-success" style="display: none;">비밀번호가 일치합니다.</span>
    <span id="alert-danger" style="display: none; color: #ffffff; font-weight: bold; ">비밀번호가 일치하지 않습니다.</span>
</head>

<body>
    <form class="box" action="#" method="POST">
        <div class="Join_form">
            <h1>필수 입력 사항</h1>
            <div class="div_id" id="div_id">
                <input id="id" class="id" type="text" name="userid" placeholder="ID" required>
                <div class="div_id_text" id="div_id_text"></div>
            </div>

            <div class="div_name" id="div_name">

                <input id="name" type="text" name="username" placeholder="Name" required>
            </div>
            <div class="div_pw" id="div_pw">
                <input class="pw1" id="password" type="password" name="userpassword" placeholder="Password" required>
                <div class="div_pw_text" id="div_pw_text"></div>
            </div>
            <div class="div_check" id="div_check">
                <input class="pw2" id="password_check" type="password" name="userpassword_check"
                    placeholder="Password Check" required>
                <div class="div_check_text" id="div_check_text"></div>
            </div>
            <div class="div_email" id="div_email">

                <input id="email" class="mail" type="email" name="useremail" placeholder="Email" required>
                <div class="div_email_text" id="div_email_text"></div>
            </div>
            <div class="div_btn">
                <input class="btn" id="submit" type="submit" background-color="" value="회원 가입" />
                <!-- 전송해주는 형태 + value -> 안에 들어갈 값-->
                <input class="btn" id="reset" type="reset" value="재작성" />
                <input class="btn" id="back" type="button" value="뒤로 가기" onclick="history.go(-1)" />

            </div>

        </div>

    </form>
    <script>

        var email = $('.mail');
        var id = $('.id');
        var password = $('.pw1');
        var password_check = $('.pw2');

        var idRegExp = /^[a-zA-z0-9]{5,15}$/; //아이디 유효성 검사
        var emailRegExp = /^[A-Za-z0-9_]+[A-Za-z0-9]*[@]{1}[A-Za-z0-9]+[A-Za-z0-9]*[.]{1}[A-Za-z]{1,3}$/;

        email.blur(function () {
            if (!emailRegExp.test(email.val())) {
                $("input[name='useremail']").css('border-color', '#ff0000');
                $("input[name='useremail']").focus();
            }
            else {
                 setTimeout(function () { $("input[name='useremail']").css('border-color', '#3498db'); }, 500);
            }
        });
        id.blur(function () {
            if (!idRegExp.test(id.val())) {
                $("#div_id_text").text("아이디는 5~15자의 영숫자로 만들어주세요.");
                $("#div_id_text").css('color', 'red');
                $("#div_id_text").css('font-size', '1.5vw');
            }
            else {
                $("#div_id_text").text("");
            }
        });
        password_check.blur(function () {
            if (password.val() != '' && password_check.val() != '') {
                if (password.val() != password_check.val()) {
                    $("#div_pw_text").text("비밀번호가 일치하지 않습니다.");
                    $("#div_pw_text").css('color', 'red');
                    $("#div_pw_text").css('font-size', '1.5vw');
                    $("#div_check_text").text("비밀번호가 일치하지 않습니다.");
                    $("#div_check_text").css('color', 'red');
                    $("#div_check_text").css('font-size', '1.5vw');
                    $("input[name='userpassword']").css('border-color', '#ff0000');
                    $("input[name='userpassword_check']").css('border-color', '#ff0000');
          
                }
                else {
                    $("#div_pw_text").text('');
                    $("#div_check_text").text('');
                    setTimeout(function () { $("input[name='userpassword']").css('border-color', '#3498db'); }, 500);
                    setTimeout(function () { $("input[name='userpassword_check']").css('border-color', '#3498db'); }, 500);
          
                }
            }
        });
        password.blur(function () {
            if (password.val() != '' && password_check.val() != '') {
                if (password.val() != password_check.val()) {
                    $("#div_pw_text").text("비밀번호가 일치하지 않습니다.");
                    $("#div_pw_text").css('color', 'red');
                    $("#div_pw_text").css('font-size', '1.5vw');
                    $("#div_check_text").text("비밀번호가 일치하지 않습니다.");
                    $("#div_check_text").css('color', 'red');
                    $("#div_check_text").css('font-size', '1.5vw');
                    $("input[name='userpassword']").css('border-color', '#ff0000');
                    $("input[name='userpassword_check']").css('border-color', '#ff0000');
          

                }
                else {
                    $("#div_pw_text").text('');
                    $("#div_check_text").text('');
                    setTimeout(function () { $("input[name='userpassword']").css('border-color', '#3498db'); }, 500);
                    setTimeout(function () { $("input[name='userpassword_check']").css('border-color', '#3498db'); }, 500);
          
                }
            }
        });
    </script>
</body>

</html>