미리 감사드립니다. 입력을 유형 = 숫자로 작성했습니다. 비즈니스 요구로 인해 이 입력에는 숫자만 입력할 수 있으며 더하기 및 빼기 기호는 입력할 수 없습니다.
원래는 입력된 값을 판단하고 더하기 기호, 빼기 기호, 중복된 점을 수동으로 삭제하려고 했는데, 입력된 값이 불법이면 입력 값이 빈 문자열 ''로 변환되는 것을 발견했습니다. 이런 식으로 입력 값을 얻을 수 없습니다.
오랫동안 고민했는데 해결방법을 모르겠네요 도와주세요 감사합니다~
그나저나 vue에서 페이지를 작성했어요~~
정규 표현식을 사용하여 '^[-]?[0-9]*.?[0-9]+(eE?[0-9]+)?$'를 일치시키세요
으아아아이 방법을 사용하여 입력 값의 변화를 모니터링할 수 있으며, 확인에 실패하면 메시지가 표시됩니다.
으아아아JS를 게시하고 살펴보세요
onkeyup="this.value=this.value.replace(/D/g,'')" onafterpaste="this.value=this.value.replace(/D/g,'')"
type=number는 사용자가 양수 및 음수 기호, e 및 여러 소수점을 입력하는 것을 직접 제한할 수 있어서는 안 됩니다.
아직도 입력값으로 판단해야 합니다.
입력 값이 올바르지 않아 입력 값이 빈 문자열로 변환되는 문제는
입력 유형을 텍스트로 변경한 후 정규 표현식을 사용하여 대체하여 숫자가 아닌 숫자와 여러 소수점을 제거할 수 있습니다.
그런 다음 v-model을 사용하여 값을 바인딩한 다음 watch를 통해 값을 모니터링할 수 있습니다. 하지만 잘못된 값을 발견하면 잘못된 문자열을 삭제하면 됩니다.
<input type="tel" />