본문으로 바로가기

파일의 IT 블로그

  1. Home
  2. 프로그래밍/Flutter
  3. [Flutter] TextField 숫자만 입력되게 하기

[Flutter] TextField 숫자만 입력되게 하기

· 댓글개 · KRFile

 

플러터에서 텍스트 입력을 받으려면 TextField 로 입력을 받을 수 있습니다.

 

그런데 다음과 같은 계산기 앱을 만들때 TextField() 에서 받는 내용을 숫자로 제한해야 할 때가 있습니다.

우선 keyboardType 옵션을 사용해서 숫자 키패드만 나오게 할 수는 있는데 이렇게 하면 숫자만 입력할 수 있게 보이나 문자열이 붙여넣기 되어 버립니다.

 

그래서 숫자를 완전 허용하지 않게 하려면 다음과 같이 inputFormatters 옵션에서 필터링을 주시면 됩니다.

정규식 조건은 [0-9] 로 주는데 0~9 까지의 숫자만 허용하겠다는 의미입니다. (allow 사용)

처음엔 여러개를 입력할 수 있어서 정규식을 [0-9]+ 로 작성해야 할 거 같았는데 아마 한글자씩 검사하는 방식이라 이렇게 쓰는거 같습니다. (아마..?) 

 

작동은 잘합니다.

 

TextEditingController val1 = TextEditingController();
TextField(keyboardType: TextInputType.number, controller: val1, inputFormatters: [FilteringTextInputFormatter.allow(RegExp('[0-9]'))],)
SNS 공유하기
최근 글
파일의 IT 블로그
추천하는 글
파일의 IT 블로그
💬 댓글 개
이모티콘창 닫기
울음
안녕
감사해요
당황
피폐

이모티콘을 클릭하면 댓글창에 입력됩니다.