본문 바로가기

JavaScript

ios에서 textarea maxLength 이슈

일반적으로 텍스트 영역에 줄 바꿈 문자를 입력하면 1자로 계산될 것으로 예상할 수 있다.

그러나 ipad 또는 iphone에서 maxlength 속성은 줄 바꿈 문자를 두 문자(\r\n)로 간주하므로 maxlength로 문자 수를 제한하는 데 이슈가 있다.

 

해결방법

maxlength로 글자수를 제한하지 않고, 직접 글자 수를 체크해서 잘라서 써야한다.

const onChange = (e: React.ChangeEvent<HTMLTextAreaElement>) => {
  const value = e.target.value;

  if (value.length > MAX_LENGTH) {
    e.target.value = value.substring(0, MAX_LENGTH);
  }
};