input 4자리 숫자로만 입력받기
본문
<span>-
<input type="number" max="9999" maxlength="4" oninput="maxLengthCheck(this)" name="midhp"/>
</span>
<span>-
<input type="number" max="9999" maxlength="4" oninput="maxLengthCheck2(this)" name="lasthp"/>
</span>
<script>
//maxlength 체크
function maxLengthCheck(object){
if (object.value.length > object.maxLength){
object.value = object.value.slice(0, object.maxLength);
}
}
</script>
<script>
//maxlength 체크
function maxLengthCheck2(object){
if (object.value.length > object.maxLength){
object.value = object.value.slice(0, object.maxLength);
}
}
</script>
휴대폰 번호 입력하게 할건데요
크롬은 되는데 익스에서 마지막이 에러가 나네요
답변 1
음... input에 maxlength를 넣으셧는데 굳이 또 javascript에서 maxlength 값을 불러와서 비교한 뒤
잘라낼 이유가 있을까... 싶습니다만...
그리고 함수를 두개로 하실 필요는 없으시구요...
일단 숫자만 입력하게끔 하는 javascript를 추가해서 다음과 같이 한번 해보세요.
<span>-<input type="number" max="9999" maxlength="4" oninput="maxLengthCheck(this)" onkeyup="onlynumberic(event)" name="midhp"/></span>
<span>-<input type="number" max="9999" maxlength="4" oninput="maxLengthCheck(this)" onkeyup="onlynumberic(event)" name="lasthp"/></span>
<script>
//maxlength 체크
function maxLengthCheck(object){
if (object.value.length > object.maxLength){
object.value = object.value.slice(0, object.maxLength);
}
}
//숫자만남기고제거
function onlynumberic(event) {
event.target.value = event.target.value.replace(/[^0-9]/g, "");
}
</script>