input text 소수점 8자리 이상 입력 안되게
본문
안녕하세요.
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; } }
답변을 작성하시기 전에 로그인 해주세요.