본문 바로가기
자바과정/자바스크립트

회원가입 유효성 검사 (비정규식과 정규식)

by Parkej 2021. 3. 4.

 - API 관련 게시글 : show400035.tistory.com/72?category=982200

 - repl.it 온라인 개발 사이트 환경에서 작성된 코드라 로컬저장으로 실행 시킬 시 주소 API만 작동되지 않습니다. 로컬저장으로 작동하시려면 톰캣을 이용해 서버를 거쳐 하시길 바랍니다.

 

 - repl.it은 자신의 회원가입 아이디를 통한 개인 오픈 서버를 제공해주는 것 같아서 url성 스크립트와 API가 동작 될 수 있던것 같습니다.

 

/////////////// 공통

// HTML 부분

 

  <!DOCTYPE html>
  <html>
    <head>
      <meta charset="utf-8">
      <title>회원가입 유효성 검사 정규식</title>
      <link href="style.css" rel="stylesheet" type="text/css" />
      <script src="script.js"></script>
      <script src="//t1.daumcdn.net/mapjsapi/bundle/postcode/prod/postcode.v2.js"></script>
    </head>
    
    <body>
    
    <!-- onsubmit 으로 true false 값 반환 -->
    
    <form id = "sm"name="pej" method="post" onsubmit="return allCheck()" action="mailto:dwdw1566@naver.com">
    <table align=cneter>
    
      <tr bgcolor="blanchedalmond" > <!-- 첫줄 -->
        <td align = "center" colspan="2" style = "color:black" >회원 기본 정보</td>
      </tr>
      
      <tr bgcolor="white"> <!-- 2 --> 
        <td>아이디:</td>
        <td><input type="text" id="_id" size=12 maxlength=12> 4~12자의 영문 대소문자와 숫자로만 입력</td>     
      
      </tr>

      <tr> <!-- 3 --> 
        <td>비밀번호:</td>
        <td><input type="text" id="_pw" size=12 maxlength=12> 4~12자의 영문 대소문자와 숫자로만 입력</td>     
      </tr>

      <tr> <!-- 4 행--> 
        <td>비밀번호확인:</td>
        <td><input type="text" id="_pw2" size=12 maxlength=12></td>
      </tr>

      <tr> <!-- 5 --> 
        <td>메일주소:</td>
        <td><input type="text" id="_mail" size=15> 예) id@domain.com</td>
      </tr>

      <tr> <!-- 6 --> 
        <td>이름:</td>
        <td><input type="text" id="_name" size=15 maxlength=4></td>
      </tr>

      <tr bgcolor="blanchedalmond" > <!-- 첫줄 -->
        <td align = "center" colspan="2" style = "color:black" >개인 신상 정보</td>
      </tr>
      
      <tr>
        <td>주소</td> <!-- zib코드 입력-->
        <td><input type="text" id="tbox1" placeholder="우편번호" size=8>
        <input type="button" onclick="addrFind()" value="우편번호 찾기"><br>
        <input type="text" id="tbox2" placeholder="주소" size=28><br>
        <input type="text" id="tbox4" placeholder="참고항목" size=28>
        <input type="text" id="tbox3" placeholder="상세주소">
        </td>
      </tr>

      <tr> <!-- 7 --> 
        <td>주민등록번호:</td>
        <td><input type="text" id="_ju" size=15 minlength=13 maxlength=13> 예) 1234561234567</td>
      </tr>

      <tr> <!-- 8 --> 
        <td>생일:</td>
        <td>
          <input type="text" id="birth" size=5 maxlength=12>년
          <select id="month">
          <option value="1">1</option>
          <option value="2">2</option>
          <option value="3">3</option>
          <option value="4">4</option>
          <option value="5">5</option>
          <option value="6">6</option>
          <option value="7">7</option>
          <option value="8">8</option>
          <option value="9">9</option>
          <option value="10">10</option>
          <option value="11">11</option>
          <option value="12">12</option>
          </select>월
          <select id="day">
          <option value="1">1</option>
          <option value="2">2</option>
          <option value="3">3</option>
          <option value="4">4</option>
          <option value="5">5</option>
          <option value="6">6</option>
          <option value="7">7</option>
          <option value="8">8</option>
          <option value="9">9</option>
          <option value="10">10</option>
          <option value="11">11</option>
          <option value="12">12</option>
          <option value="13">13</option>
          <option value="14">14</option>
          <option value="15">15</option>
          <option value="16">16</option>
          <option value="17">17</option>
          <option value="18">18</option>
          <option value="19">19</option>
          <option value="20">20</option>
          <option value="21">21</option>
          <option value="22">22</option>
          <option value="23">23</option>
          <option value="24">24</option>
          <option value="25">25</option>
          <option value="26">26</option>
          <option value="27">27</option>
          <option value="28">28</option>
          <option value="29">29</option>
          <option value="30">30</option>
          <option value="31">31</option>

          </select>일
        </td>
      </tr>

      <tr> <!-- 9 --> 
        <td>관심분야:</td>
        <td>
          <input type="checkbox" name="com">컴퓨터
          <input type="checkbox" name="com">인터넷
          <input type="checkbox" name="com">여행
          <input type="checkbox" name="com">영화감상
          <input type="checkbox" name="com">음악감상
      </tr>

      <tr> <!-- 9 --> 
        <td>자기소개:</td>
        <td><textarea id="my_intro" cols="55" rows="5" maxlength="700"></textarea></td>
      </tr>
      </table>
      <br>
    
    <blockquote><blockquote><blockquote><blockquote><blockquote>
      <input type="submit" value="회원 가입">
      <input type="reset" value="다시입력">
    </form>

    </body>
  </html>

 

////////////////////////////// JS 부분

/////////////// 비정규식 

 

function allCheck(){
  // onsubmit 을 통한 함수들 판별하는 곳
  return (idCheck()&&pwCheck()&&checkMail()&&nameCheck()&&checkAddr()&&ymdCheck()&&checkInterest()&&introCheck());
}

// 주소 유효성 검사
function checkAddr(){
  var sangaddr = document.getElementById("tbox3").value;
  var numaddr = document.getElementById("tbox1").value;
  if(numaddr == ""){ // 우편번호 텍스트의 값을 검사
    alert("주소를 입력해 주세요.");
    document.getElementById("tbox1").focus;
    return false;djpw
  }
  if(sangaddr == ""){ //상세주소 없으면 안받아줌
    alert("상세주소를 입력해 주세요.");
    document.getElementById("tbox3").focus();
    return false;
  }
  else return true;
}

// ID 유효성 검사
function idCheck(){
  var id = document.getElementById("_id");
  
  // isAlphaNumeric(str) 사용자 정의 함수는 유니코드로 해당값을 검사해줌. 
  if(isAlphaNumeric(id.value)==false){
    alert("영문 대소문자와 숫자만 입력 가능합니다.");
    id.focus();
    id.value = "";
    return false;
  }
  // 4~12자가 아닐 시
  else if(!(id.value.length > 3 && id.value.length < 13)){
    alert("4~12자로 내용을 입력하세요.");
    id.focus();
    id.value = "";
    return false;
    }
  else if(id.value == null){
    alert("ID를 입력해주세요")
  }
  // if elseif 에 적합한 조건이 없다면 조건 만족 후 true 반환
  else return true; 
  

}

// 비밀번호체크
function pwCheck(){
      var pw1 = document.getElementById("_pw");
      var pw2 = document.getElementById("_pw2");

      // 아이디랑 비번이랑 같을 경우
      if (pw1.value == document.getElementById("_id").value)
      {
        alert("아이디랑 비밀번호가 같으면 안됩니다.")
        pw1.focus;
        pw1.value = "";
        pw2.value = "";
        return false;
      }
      // 비번 길이가 짧거나 긴 경우
      else if (pw1.value.length < 4 || pw1.value.length > 12)
      {
        alert("4~12자 내로 입력하세요.");
        pw1.focus;
        pw1.value = "";
        pw2.value = "";
        return false;
      }
      // 비번 확인이 잘 안된 경우
      else if (pw1.value != pw2.value){
        alert("비밀번호와 비밀번호 확인이 다른데요?");
        pw1.focus;
        pw1.value = "";
        pw2.value = "";
        return false;
      }
      // 비번에 특수문자나 공백이 들어간 경우
      else if (isAlphaNumeric(pw1.value) == false)
      {
        alert("영문 숫자로만 입력하세요");
        pw1.focus;
        pw1.value = "";
        pw2.value = "";
        return false;
      }
      // 공백인 경우
      else if (pw1.value == null || pw2.value == null){
        alert("비밀번호를 입력해주세요");
        pw1.focus;
        pw1.value = "";
        pw2.value = "";
        return false;
      }
      else return true;
}

// 메일주소
function checkMail(){
  var mail = document.getElementById("_mail");
  var indexAt = mail.value.indexOf("@");
  var indexDot = mail.value.indexOf(".");
  // indexOf 함수를 통해 해당 문자(@, .)을 찾기
  if (indexAt == -1){alert("이메일 형식을 확인해주세요");
  // @가 없을 시 유효성 검사에 어긋남
    mail.focus;
    mail.value = "";
    return false;
  }
  if (indexDot == -1){alert("이메일 형식을 확인해주세요");
  // '.'이 없을 시 유효성 검사에 어긋남
    mail.focus;
    mail.value = "";
    return false;
  }
  // 메일에 들어온 값을 substr 함수를 통해 @까지 추출
  else if(isAlphaNumeric(mail.value.substr(0,indexAt))==false){
    alert("특수문자를 빼주세요");
    mail.focus;
    mail.value = "";
    return false;
  }
  // 메일에 들어온 값을 substr 함수를 통해 .의 왼쪽을 추출
  else if(isAlphaNumeric(mail.value.substr(indexAt+1,(indexDot-indexAt-1)))==false){
    alert("특수문자를 빼주세요");
    mail.focus;
    mail.value = "";
    return false;
  }
  // 메일에 들어온 값을 substr 함수를 통해 .의 오른쪽을 추출
  else if(isAlphaNumeric(mail.value.substr(indexDot+1))==false){
    alert("특수문자를 빼주세요");
    mail.focus;
    mail.value = "";
    return false;
  }
  else return true;
}

//이름
function nameCheck(){
  var name = document.getElementById("_name");

  // 이름이 공백이면
  if (name.value == null){
    alert("이름을 입력해주세요");
    name.focus;
    name.value = "";
    return false;

  }
  // isKoreNumeric이라는 사용자 정의 함수는 한글을 판별해주는 유니코드 조건문임
  // 한글을 제외한 값이 들어오면
  else if(isKoreNumeric(name.value) == false){
    alert("한글을 입력해 주세요.");
    name.focus;
    name.value = "";
    return false;

  }
  else return true;
}



// 주소팝업 카카오 API 코드
function addrFind() {
  new daum.Postcode({
    oncomplete: function(data) {
    // 팝업에서 검색결과 항목을 클릭했을때 실행할 코드를 작성하는 부분.
    // 각 주소의 노출 규칙에 따라 주소를 조합한다.
    // 내려오는 변수가 값이 없는 경우엔 공백('')값을 가지므로, 이를 참고하여 분기 한다.
    var addr = ''; // 주소 변수
    var extraAddr = ''; // 참고항목 변수

    //사용자가 선택한 주소 타입에 따라 해당 주소 값을 가져온다.
    if (data.userSelectedType === 'R') { // 사용자가 도로명 주소를 선택했을 경우
      addr = data.roadAddress;
    } else { // 사용자가 지번 주소를 선택했을 경우(J)
      addr = data.jibunAddress;
    }
    // 사용자가 선택한 주소가 도로명 타입일때 참고항목을 조합한다.
    if(data.userSelectedType === 'R'){
    // 법정동명이 있을 경우 추가한다. (법정리는 제외)
    // 법정동의 경우 마지막 문자가 "동/로/가"로 끝난다.
    if(data.bname !== '' && /[동|로|가]$/g.test(data.bname)){
      extraAddr += data.bname;
    }
    // 건물명이 있고, 공동주택일 경우 추가한다.
    if(data.buildingName !== '' && data.apartment === 'Y'){
      extraAddr += (extraAddr !== '' ? ', ' + data.buildingName : data.buildingName);
    }
    // 표시할 참고항목이 있을 경우, 괄호까지 추가한 최종 문자열을 만든다.
    if(extraAddr !== ''){
      extraAddr = ' (' + extraAddr + ')';
    }
    // 조합된 참고항목을 해당 필드에 넣는다.
    document.getElementById("tbox4").value = extraAddr;
    } else {
      document.getElementById("tbox4").value = '';
    }
    // 우편번호와 주소 정보를 해당 필드에 넣는다.
    document.getElementById('tbox1').value = data.zonecode;
    document.getElementById("tbox2").value = addr;
    // 커서를 상세주소 필드로 이동한다.
    document.getElementById("tbox3").focus();
    }
  }).open();
}

// 주민번호 , 생일 유효성 검사
function ymdCheck(){
  var today = new Date();
  // Date 함수를 이용
  var yearcheck = today.getFullYear()
  // Date에 년 월 일을 사용함
  var ssn = document.getElementById("_ju").value;
  var birth = ssn.substr(0,6);
  // 입력된 주민번호중 앞 6자리만 따로 추출

  // var monthGet = document.getElementById("month");
  // var dayGet = document.getElementById("date");

  // 몇년생인지 구분
  if(isonlyNumber(ssn) == true){ // 만약 주민번호가 숫자일 시
  
    if(parseInt("20"+birth.substr(0,2)) > yearcheck){
      document.getElementById("birth").value = "19"+ birth.substr(0,2); 
      // 앞 2자리에서 20을 붙였을때 현재 년도보다 클시 1900대생
      // (940101) -> (94) -> (2094 > 2021) -> (1994) 
      // 생일 값에 자동부여
    }
    else {
      document.getElementById("birth").value = "20"+ birth.substr(0,2);
      // 앞 2자리에서 20을 붙였을때 현재 년도보다 작을시 2000대생
      // 생일 값에 자동부여
    }

    // 월 체크
    month[parseInt(birth.substr(2,2))-1].selected = true;
    // month라는 셀렉트 박스에서 해당 월의 인덱스를 반환함.
    // 06에서 6월이면 '월'값의 6을 찾아옴 
    day[parseInt(birth.substr(4,2))-1].selected = true;
    // day라는 셀렉트 박스에서 해당 일의 인덱스를 반환함.
    // 0610에서 10일이면 '일'값의 10을 찾아옴 
    
    if(parseInt(ssn[6]) > 4)
    {
      // 뒷자리 시작은 1~4 이 값을 넘어가면 올바른 주민번호가 아님
      alert("올바른 주민번호 형식이 아닙니다. (뒷자리 시작번호는 1~4)");
      return false;
    }
    else if(
      // 2020 10월부터 부여되는 주민번호는 공식이 없어짐 하지만 그전의 주민번호는 공식이 유효함.
      ssn[12] != (11-((2*parseInt(ssn[0])+ 3*parseInt(ssn[1])+ 4*parseInt(ssn[2])+
      5*parseInt(ssn[3])+ 6*parseInt(ssn[4])+ 7*parseInt(ssn[5])+
      8*parseInt(ssn[6])+ 9*parseInt(ssn[7])+ 2*parseInt(ssn[8])+
      3*parseInt(ssn[9])+ 4*parseInt(ssn[10])+5*parseInt(ssn[11]))%11))) 
      { 
        alert("올바른 주민번호 형식이 아닙니다. (공식은 20년 10월 전까지 유효)");
        // 공식에 적합하지 않으면 false
        return false;
    }
    return true;
  }
  else{
    // 조건함수에 적합한 숫자가 아니면 false 반환
    alert("숫자만 또는 13자리를 입력하세요.");
    document.getElementById("_ju").focus;
    document.getElementById("_ju").value = "";
    return false;
  }
}

//관심분야 함수
function checkInterest(){
    var interest = document.getElementsByName("com")
    var cnt = 0;
    // ElementsByName 을 통해 각 항목마다 배열 인덱스 부여
    for(var i =0; i<interest.length; i ++){
      if(interest[i].checked){cnt++};
    }
    // 체크가 하나도 안되어있을 시 
    if (cnt == 0)
    {
      alert("관심분야를 체크해 주세요.")
      return false;
    }
    else return true;
}

// 자기소개
function introCheck(){
  var intro = document.getElementById("my_intro");

  // 내용이 공백이면
  if(intro.value == ""){
    alert("자기소개란에 내용을 입력해주세요.");
    intro.focus;
    return false;
  }
  else return true;
}

// 이름 한글인지 아닌지 체크
function isKoreNumeric(str){
  var code;
  for(var i=0;i<str.length;i++){
    code = str.charCodeAt(i);
    // 한글 유니코드 값 범위
    if(!(code > 44031 && code < 55204) && // 가~힣  
    !(code > 12592 && code < 12623) && 
    !(code > 12622 && code < 12644)) { 
        return false;
    }
  }
  return true;
}

// 아이디 비번 영문 대소문자와 숫자체크
function isAlphaNumeric(str){
  var code;
  for(var i=0;i<str.length;i++){
    code = str.charCodeAt(i);
    if(!(code > 47 && code < 58) && // numeric (0-9)
      !(code > 64 && code < 91) && // upper alpha( A - Z )
      !(code > 96 && code < 123)) { // lower alpha ( a - z )  
        return false;
      }
    }
  return true;
}

function isonlyNumber(str){
  var code;
  for(var i=0;i<str.length;i++){
    code = str.charCodeAt(i);
    if(!(code > 47 && code < 58)){ // numeric (0-9)
      return false;
    } 
  }
  return true;
}

 

 

/////////////// 정규식 

 

var re = /^[a-zA-Z0-9]{4,12}$/; // 아이디와 패스워드가 적합한지 검사할 정규식
var re2 = /^[0-9a-zA-Z]{1,}@[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*\.[a-zA-Z]{2,3}$/i; // 이메일 조건 정규 표현식
function allCheck(){
  return (idCheck()&&pwCheck()&&checkMail()&&nameCheck()&&checkAddr()&&ymdCheck()&&checkInterest()&&introCheck());
}

// 아이디
function idCheck(){
  var id = document.getElementById("_id");
  // ^ 이 규칙으로 문장을 시작한다. 
  // [문자 규칙을 입력]
  // {} = [] 안에 포함되는 문자가 최소 4개부터 12개까지
  
  if(id.value == ""){
    alert("ID를 입력하세요");
    id.focus();
    id.value = "";
    return false;
  }
  else if(!re.test(id.value)){
    alert("아이디는 4~12자와 영어 숫자로만 입력");
    id.focus();
    id.value = "";
    return false;
  }
  else return true;
}

// 주소 유효성 판별 체크 (상세주소)
function checkAddr(){
  var sangaddr = document.getElementById("tbox3").value;
  var numaddr = document.getElementById("tbox1").value;
  if(numaddr == ""){
    alert("주소를 입력해 주세요.");
    document.getElementById("tbox1").focus;
    return false;
  }
  if(sangaddr == ""){ //상세주소 없으면 안받아줌
    alert("상세주소를 입력해 주세요.");
    document.getElementById("tbox3").focus();
    return false;
  }
  else return true;
}

// 비밀번호체크
function pwCheck(){
      var pw1 = document.getElementById("_pw");
      var pw2 = document.getElementById("_pw2");

      // 아이디랑 비번이랑 같을 경우
      if (pw1.value == document.getElementById("_id").value)
      {
        alert("아이디랑 비밀번호가 같으면 안됩니다.")
        pw1.focus;
        pw1.value = "";
        pw2.value = "";
        return false;
      }
      // 비번 길이와 영어소대문자 입력값이 올바른지
      // 정규표현식을 true false로 반환할거면 test
      else if (!re.test(pw1.value))
      {
        alert("비밀번호는 4~12자 또는 영문 대소문자만 입력하세요.");
        pw1.focus;
        pw1.value = "";
        pw2.value = "";
        return false;
      }
      // 비번 확인이 잘 안된 경우
      else if (pw1.value != pw2.value)
      {
        alert("비밀번호를 확인해주세요")
        pw1.focus;
        pw1.value = "";
        pw2.value = "";
        return false;
      }
      else return true;
}

// 메일주소
function checkMail(){
  var mail = document.getElementById("_mail");
  if(mail.value == ""){
    alert("이메일 내용을 입력해주세요.");
    mail.focus;
    mail.value = "";
    return false;
  }
  else if(!re2.test(mail.value)){
    alert("이메일 형식을 확인바랍니다.");
    mail.focus;
    mail.value = "";
    return false;
  }
  else return true;  
}

//이름
function nameCheck(){
  var name = document.getElementById("_name");
  var reKor = /^[가-힣]{1,}$/;
  if (name.value == null){
    alert("이름을 입력해주세요");
    name.focus;
    name.value = "";
    return false;
  }
  else if(!reKor.test(name.value)){
    alert("한글을 입력해 주세요.")
    name.focus;
    name.value = "";
    return false;
  }
  else return true;
}


// 주소팝업
function addrFind() {
  new daum.Postcode({
    oncomplete: function(data) {
    // 팝업에서 검색결과 항목을 클릭했을때 실행할 코드를 작성하는 부분.
    // 각 주소의 노출 규칙에 따라 주소를 조합한다.
    // 내려오는 변수가 값이 없는 경우엔 공백('')값을 가지므로, 이를 참고하여 분기 한다.
    var addr = ''; // 주소 변수
    var extraAddr = ''; // 참고항목 변수

    //사용자가 선택한 주소 타입에 따라 해당 주소 값을 가져온다.
    if (data.userSelectedType === 'R') { // 사용자가 도로명 주소를 선택했을 경우
      addr = data.roadAddress;
    } else { // 사용자가 지번 주소를 선택했을 경우(J)
      addr = data.jibunAddress;
    }
    // 사용자가 선택한 주소가 도로명 타입일때 참고항목을 조합한다.
    if(data.userSelectedType === 'R'){
    // 법정동명이 있을 경우 추가한다. (법정리는 제외)
    // 법정동의 경우 마지막 문자가 "동/로/가"로 끝난다.
    if(data.bname !== '' && /[동|로|가]$/g.test(data.bname)){
      extraAddr += data.bname;
    }
    // 건물명이 있고, 공동주택일 경우 추가한다.
    if(data.buildingName !== '' && data.apartment === 'Y'){
      extraAddr += (extraAddr !== '' ? ', ' + data.buildingName : data.buildingName);
    }
    // 표시할 참고항목이 있을 경우, 괄호까지 추가한 최종 문자열을 만든다.
    if(extraAddr !== ''){
      extraAddr = ' (' + extraAddr + ')';
    }
    // 조합된 참고항목을 해당 필드에 넣는다.
    document.getElementById("tbox4").value = extraAddr;
    } else {
      document.getElementById("tbox4").value = '';
    }
    // 우편번호와 주소 정보를 해당 필드에 넣는다.
    document.getElementById('tbox1').value = data.zonecode;
    document.getElementById("tbox2").value = addr;
    // 커서를 상세주소 필드로 이동한다.
    document.getElementById("tbox3").focus();
    }
  }).open();

}

// 주민번호 , 생일
function ymdCheck(){
  var today = new Date();
  var yearcheck = today.getFullYear()
  var ssn = document.getElementById("_ju").value;
  var birth = ssn.substr(0,6);
  var reymd = /^[0-9]{1,}$/; // 숫자만 판별하고 1개이상들어가야함.
  
  // 몇년생인지 구분
  if(!reymd.test(ssn)){
    alert("숫자만 입력하세요.");
    document.getElementById("_ju").focus;
    document.getElementById("_ju").value = "";
    return false;
  }else{
    if(parseInt("20"+birth.substr(0,2)) > yearcheck){
      document.getElementById("birth").value = "19"+ birth.substr(0,2);
    }
    else {
      document.getElementById("birth").value = "20"+ birth.substr(0,2);
    }
    // 월 체크
    month[parseInt(birth.substr(2,2))-1].selected = true;
    day[parseInt(birth.substr(4,2))-1].selected = true;
    
    if(parseInt(ssn[6]) > 4)
    {
      alert("너는 성별이 어떻게 되냐?");
    }
    else if(
      ssn[12] != (11-((2*parseInt(ssn[0])+ 3*parseInt(ssn[1])+ 4*parseInt(ssn[2])+
      5*parseInt(ssn[3])+ 6*parseInt(ssn[4])+ 7*parseInt(ssn[5])+
      8*parseInt(ssn[6])+ 9*parseInt(ssn[7])+ 2*parseInt(ssn[8])+
      3*parseInt(ssn[9])+ 4*parseInt(ssn[10])+5*parseInt(ssn[11]))%11))) 
      {
        alert("주민번호가 매우 수상해~");
    }
    return true;
  }
}

//관심분야
function checkInterest(){
    var interest = document.getElementsByName("com")
    var cnt = 0;
    for(var i =0; i<interest.length; i ++){
      if(interest[i].checked){cnt++};
    }
    if (cnt == 0)
    {
      alert("관심분야를 체크해 주세요.")
    return false;
    }
    else return true;
}

// 자기소개
function introCheck(){
  var intro = document.getElementById("my_intro");

  if(intro.value == ""){
    alert("자기소개란에 내용을 입력해주세요.");
    intro.focus;
    return false;
  }
  else return true;
}
반응형

댓글