input을 나누어 받아 전화번호 유효성검사를 처리

//실제 코드는 아래와 같진않다. 간단하게 이해를 돕기위해 타이핑한것.
//오타가 있을수있으니 복붙한 후 확인하고 처리해야함.
//concat()함수는 문자를 연결해준다.  
<script>
$(function(){
   //전송버튼클릭이벤트
   $(".submit").on("click", function(){
      let phone = $("input[name='tel1']").val().concat('-', $("input[name='tel2']").val()).concat('-', $("input[name='tel3']").val());
      let email = $("input[name='tel1']").val();
      if(checkEmail(email)==false){
        alert("이메일을 다시 입력해주세요.")
        return false;
      }else{
         $.ajax({
           url : "/controllermappingurl",
           type: "post",
           data: {phone:phone, email:email}
           success: function(data){
              alert("성공");
           }, error: function(){
              alert("실패");
           }
         });
      }
    });
   
});
//입력받은 value를 0 ~ 9 값이 아니면 return false;
//연락처유효성검사
//input태그에 keydown이벤트가 발생하면 실행되는 function이다. key코드를 이용하여 처리했다.
//keycode : 키보드에 키를 개별로 코드를 준것. js내에 약속된 코드이다.
//input에 아래 지정된 키보드 키를 제외하고 입력하면 alert창을 띄우고 value를 없애주었다.
//공통 js파일 안에 function을 넣어 필요한 페이지마다 호출하는게 코드재사용성에좋을듯.
function checkNumber(event) {
    if(event.key >= 0 && event.key <= 9
        || event.keyCode == 8 //backspace
        || event.keyCode == 37 || event.keyCode == 39 || event.keyCode == 39//방향키 →, ←
        || event.keyCode == 46 //delete키
        || event.keyCode == 16 || event.keyCode == 17 || event.keyCode == 9) {
        return true;
    }else {
        alert("숫자만 입력하세요");
        $(this).value = "";
        return false;
    }
}
function checkEmail(email){
    let exptext = /^[A-Za-z0-9_\.\-]+@[A-Za-z0-9\-]+\.[A-Za-z0-9\-]+/;
    if(exptext.test(email)==true){
        return true;
    }else{
        //이메일 형식이 알파벳+숫자@알파벳+숫자.알파벳+숫자 형식이 아닐경우
        alert("이메일형식이 올바르지 않습니다.");
        $(this).value = "";
        return false;
    }
}
</script>
<body>
<form >
<table>
  <tr>
   <td>
    //checkNumber(event) 함수에서 유효성 검사를 진행한다. 
    <input type="text" classname="t_inp" name="tel1" onkeydown="return checkNumber(event);">
    <input type="text" classname="t_inp" name="tel2" onkeydown="return checkNumber(event);">
    <input type="text" classname="t_inp" name="tel3" onkeydown="return checkNumber(event);">
   </td> 
   <td>
   <input type="text" classname="t_inp" name="email">
   </td>
   <td>
   <input type="text" classname="t_inp" class="submit" value="전송">
   </td> 
  </tr>
</table>
</form>
</body>

'JavaScript' 카테고리의 다른 글

name의 여러개의 Value를 수정  (0) 2022.07.12
seleced 유지, 삼항연산자사용, thymeleaf js 데이터사용  (0) 2022.07.12
row값 계산  (0) 2022.07.12
selectBox 값 제어하기  (0) 2022.07.12
list에서 동적으로 파일추가  (0) 2022.07.12

+ Recent posts