채택완료

하이픈 한번만 넣기 질문드립니다.

2019-10-27 (일) 16:29:27 4,182

990857738_1572161597.0733.png

Copy
<script>
 function chk_tel(str, field){
  var str;
  str = checkDigit(str);
  len = str.length;
 
  if(len==8){
  if(str.substring(0,2)==02){
    error_numbr(str, field);
  }else{
    field.value  = phone_format(1,str);
  } 
  }else if(len==9){
  if(str.substring(0,2)==02){
    field.value = phone_format(2,str);
  }else{
    error_numbr(str, field);
  }
  }else if(len==10){
  if(str.substring(0,2)==02){
    field.value = phone_format(2,str);
  }else{
    field.value = phone_format(3,str);
  }
  }else if(len==11){
  if(str.substring(0,2)==02){
    error_numbr(str, field);
  }else{
    field.value  = phone_format(3,str);
  }
  }else{
  error_numbr(str, field);
  }
 }
 function checkDigit(num){
  var Digit = "1234567890";
  var string = num;
  var len = string.length
  var retVal = "";
  for (i = 0; i < len; i++){
  if (Digit.indexOf(string.substring(i, i+1)) >= 0){
    retVal = retVal + string.substring(i, i+1);
  }
  }
  return retVal;
 }
 function phone_format(type, num){
  if(type==1){
  return num.replace(/([0-9]{4})([0-9]{4})/,"$1-$2");
  }else if(type==2){
  return num.replace(/([0-9]{2})([0-9]+)([0-9]{4})/,"$1-$2-$3");
  }else{
  return num.replace(/(^01.{1}|[0-9]{3})([0-9]+)([0-9]{4})/,"$1-$2-$3");
  }
 }
 function error_numbr(str, field){
  alert("정상적인 번호가 아닙니다.");
  field.value = "";
  field.focus();
  return;
 }
 
</script>
|

답변 1개 / 댓글 2개

채택된 답변
+20 포인트

8자리 입력 시에 4자리-4자리 로 나타나도록 되어 있는데요?

답변에 대한 댓글 2개

그런데 1234-1234 이렇게 하이픈 넣어야 검색이되고
12341234 이렇게 하이픈 빼면 검색이 안되네요 ㅠ
chk_tel(str, field) 함수로 8자리일때, 4자라-4자리로 자동변경됩니다.
함수를 잘 적용했는지 확인해보세요

답변을 작성하려면 로그인이 필요합니다.