본문 바로가기

KNOWHOW/front

이메일 형식 체크, 한글만 입력 허용

 

 

 

 

 

일단 이메일 형식은 XXXXX@XXXXXX.XXXX 이라고 가정하고, 한글은 입력불가, 그리고 이메일은 필수 값이 아님.

 

별 다른건 없이 그냥 문자열 중에서 @와 . 이 있는지만 확인 (이메일란에 값이 입력되어 있는 경우에만)

 

 

 

 

var form = {

 

// 한글 체크
 isKorean : function(objStr) {
     var nKor = 0;

     // 글자마다 한글이 있는지 확인 후 한글이 있으면 변수값 증가
     for (i = 0; i < objStr.length; i++) {
         if (((objStr.charCodeAt(i) > 0x3130 && objStr.charCodeAt(i) < 0x318F) || (objStr.charCodeAt(i) >= 0xAC00 && objStr.charCodeAt(i) <= 0xD7A3))) {
             nKor++;
         }
     }
     if(nKor == 0)     return true;
     else                return false;

}
 

// 이메일 형식 체크

 , emailCheck : function() {

     // 입력 받은 이메일 값
     var emailVal = $("#txtEmail").val();

     // 공백이 아닐 경우만 체크
     if(string.StrNvl(emailVal) != ""){
         if(!form.isKorean(emailVal)){
             alert("이메일에 한글은 입력하실 수 없습니다.");
             return false;
         }else{

             // 이메일 값이 입력되었고 한글이 없을 때 골뱅이 체크
             if(emailVal.indexOf("@") != -1){
                 var emailSplit = emailVal.split("@");

                 // 골뱅이 뒷 부분에 값이 있는지 체크
                 if(string.strNvl(emailSplit[1])==""){
                     alert("이메일 형식을 확인해주세요.");
                     return false;
                 }else{

                     // 골뱅이 뒷부분에 값이 있고 점이 있으면 성공
                     if(emailSplit[1].indexOf(".") != -1){
                         return true;
                     }else{
                         alert("이메일 형식을 확인해주세요.");
                         return false;
                     }
              }
          }else{
              alert("이메일 형식을 확인해주세요.");
              return false;
          }
       }
  }else{
      return true;
  }

 }

 

}

 

// 문자열이 null, undefined인 경우 "" 전달

var string = {

strNvl : function(str){
      if(undefined == str || null == str){
           return "";
      }else{
           return str.toString();
      }

}

}