input text 소수점 8자리 이상 입력 안되게

input text 소수점 8자리 이상 입력 안되게

QA

input text 소수점 8자리 이상 입력 안되게

답변 2

본문

안녕하세요. 

text input에 소수점 8자리 이상은 입력이 안되게 막으려면 스크립트를 어떻게 해야되나요?

 


function DemicalCheck(obj, Lenght1, Lenght2)
{
 try
 {
  if(obj.value.lastIndexOf('.') != -1)// 찾는 문자 '.' 있다면 해당하는 인덱스의 번호를 반환하지만 없으면 -1을 반환하므로 있으면 실행된다.
  {
   ObjValue = obj.value.split(".")// 입력 받은 값을 ObjValue에 "." 나누어서 저장시킨다.
   if(ObjValue[0].length > Lenght1)// 입력받은 정수형의 입력 길이가 6이라면
   {
    alert("앞자릿수는 " + Lenght1 + "자리 이상일 수 없습니다. 다시 입력해 주세요.");
    obj.value = "";
   }
   if(ObjValue[1].length > Lenght2)
   {
    alert("소숫점 자릿수는 " + Lenght2 + "자리 이상일 수 없습니다. 다시 입력해 주세요.");
    obj.value = ""; 
   }
  }
  else// 소숫점 입력이 아닌 정수형의 일반적인 입력일 경우
  {
   if(obj.value.length > Lenght1)
   {
    alert("앞자릿수는 " + Lenght1 + "자리 이상일 수 없습니다. 다시 입력해 주세요.");
    obj.value = "";
   }
  }
 }
 catch(err)
 {
  alert(err);
  obj.value = "";
 }
}

 

구글링해서 위 예제를 참고해서 작업중인데요 alert 띄우고 value를 비우는게 아닌

아예 그 이상은 입력이 안되도록 하려고 하는데 어떻게 해야될까요?

이 질문에 댓글 쓰기 :

답변 2

obj.value = ""; 대신 return false; 를쓰시고요..

catch 부분에 alert 를 안쓰실거면 주석이나 삭제하시면 됩니다.

function DemicalCheck(obj, Lenght1, Lenght2)
{
 try
 {
  if(obj.value.lastIndexOf('.') != -1)// 찾는 문자 '.' 있다면 해당하는 인덱스의 번호를 반환하지만 없으면 -1을 반환하므로 있으면 실행된다.
  {
   ObjValue = obj.value.split(".")// 입력 받은 값을 ObjValue에 "." 나누어서 저장시킨다.
   if(ObjValue[0].length > Lenght1)// 입력받은 정수형의 입력 길이가 6이라면
   {
    alert("앞자릿수는 " + Lenght1 + "자리 이상일 수 없습니다. 다시 입력해 주세요.");
    //obj.value = "";
     return fasle;
   }
   if(ObjValue[1].length > Lenght2)
   {
    alert("소숫점 자릿수는 " + Lenght2 + "자리 이상일 수 없습니다. 다시 입력해 주세요.");
    //obj.value = ""; 
      return false;
   }
  }
  else// 소숫점 입력이 아닌 정수형의 일반적인 입력일 경우
  {
   if(obj.value.length > Lenght1)
   {
    alert("앞자릿수는 " + Lenght1 + "자리 이상일 수 없습니다. 다시 입력해 주세요.");
    //obj.value = "";
     return false;
   }
  }
 }
 catch(err)
 {
  //alert(err);
  //obj.value = "";
   return false;
 }
}
답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 409
© SIRSOFT
현재 페이지 제일 처음으로