input 글자수 제한 질문입니다
본문
input에 5글자만 입력가능하게.
단 -는 글자수체크에 포함되지 않음.
이렇게 두 조건을 만족시켜야 하는데요
5글자만 입력하게 하는건 잘 되는데 -를 글자수체크할때 포함되지 않게 하는건 어떻게 해야할지 모르겠습니다.
12345 는 총 5글자로 체크하고
-12345 도 5글자로 체크하고자 합니다.
답변 3
복잡하게 하지않고 저라면 아래처럼 사용하겠습니다.
// 인풋입력칸 입력후 포커스 변경시 자동체크
<input type="text" maxlength="6" pattern="[^-]{5}[^-]*" onblur="validateInput(this)" />
<script>
function validateInput(input) {
if (input.value.length < 5) {
alert("5글자 이상 입력해주세요!");
}
}
</script>
사칙연산이 일반적이시라면 사칙연산을 삭제하시고 글자비교를 하시면될것 같습니다.
$txtlength = $_REQUEST["txt"]; //글자비교하실 글자수
$rtxt = str_replace("-","",$txtlength); //사칙연산혹은 특수기호 빼고 나머지 글자만 연산하고자 치환
$rtxtlength = strlen($rtxt); //실제 문자열길이 구하기 (영문,숫자전용)
echo $rtxtlength; //실제 문자열길이 출력
요렇게 하시면되겠네요^^
<input id="my">
<script>
total = 5;
my.onpaste = () => {
alert("붙여넣기 사용금지");
return false;
}
my.onkeyup = () => {
if (my.value.replaceAll("-", "").length > total) my.value = my.value.slice(0, my.value.length - 1);
}
</script>