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

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

 

플러터에서 텍스트 입력을 받으려면 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 공유하기
네이버밴드
카카오톡
페이스북
X(트위터)

최근 글 파일의 IT 블로그
추천하는 글 파일의 IT 블로그
최근글
인기글
이모티콘창 닫기
울음
안녕
감사
당황
피폐