현재 react-hook-form을 사용해서 폼을 만들고 있는데 ,
분명 number 타입으로 만들었는데
아래와 같이 한글 자음도 입력을 받는것임.
아래의 링크와도 동일한 현상이 발생함.
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/number
내가 해결한 방법은 type = number을 사용하지않고
onchange 이벤트를 활용해서
정규표현식을 사용해서 숫자 외 다른 문자들은 입력하지 못하게 막았다.
// 숫자 입력 방지
const onValueChange = (
e: React.ChangeEvent<HTMLInputElement>
): void => {
const inputValue = e.target.value;
const numericValue = inputValue.replace(/[^0-9]/g, ''); // 숫자 이외의 문자는 제거
const numericValue2 = numericValue.replace(/[ㄱ-ㅎ|ㅏ-ㅣ|가-힣]/g, ''); // 한글 문자 제거
methods.setValue('value', numericValue2);
};
'FRONTEND > 기타' 카테고리의 다른 글
Object.entries() 객체의 키-값 쌍을 배열로 만들어 반환하는 메소드 (0) | 2024.12.30 |
---|---|
MonthPicker 라이브러리 모음 (2) | 2024.12.26 |
[Typescript] 공부 내용 정리 (1) | 2024.08.30 |
(API활용) 깃허브 유저찾기 app 2 (1) | 2023.11.14 |
(API활용) 깃허브 유저찾기 app 1 (1) | 2023.11.14 |