在用戶注冊和登錄時,比如會對密碼要求必須包含數字和字母,這時就需要限制輸入型別了,
在 Flutter 中,可以通過設定 TextField 的屬性 inputFormatters 來限制輸入型別,其型別為 List<TextInputFormatter>
List<TextInputFormatter> l = []; // 支持多個正則限制
TextField(
inputFormatters:l,
);
引數型別支持正則運算式,常用的正則驗證如下
1、僅數字(不含小數點)
l = [FilteringTextInputFormatter.digitsOnly]; // 寫法一
l = [FilteringTextInputFormatter.allow(RegExp(r'[0-9]'))]; // 寫法二(其實就是寫法一)
2、僅數字(含小數點)
l = [FilteringTextInputFormatter.allow(RegExp("[0-9.]")),;
3、僅中文
l = [FilteringTextInputFormatter.allow(RegExp(r"[\u4e00-\u9fa5]"))];
4、僅小寫
l = [FilteringTextInputFormatter.allow(RegExp("[a-z]"))];
5、僅大寫
l = [FilteringTextInputFormatter.allow(RegExp("[A-Z]"))];
6、混合型別
以上五個是基礎型別,如果你需要的是混合型別,比如想同時支持大寫、小寫和數字,把對應選項組合到一起即可,如下代碼所示
l = [FilteringTextInputFormatter.allow(RegExp("[A-Z,a-z,0-9]"))];
其它混合型別的需求同理,
博主目前使用的 Flutter 版本:2.2.3,Dart 版本:2.13.4,Android Studio 版本:4.2.2
你的問題得到解決了嗎?歡迎在評論區留言,
贈人玫瑰,手有余香,如果覺得文章不錯,希望可以給個一鍵三連,感謝,
Google 的 Flutter 越來越火,截止 2021年08月03日 GitHub 標星已達 127K,Flutter 毅然是一種趨勢,所以作為前端開發者,沒有理由不趁早去學習,
結束語 如果你是 Flutter 新手或者剛入門,不妨先點個關注,后續我會將 Flutter 中的常用組件(含有原始碼分析、組件的用法及注意事項)以及可能遇到的問題寫到 CSDN 博客中,希望自己學習的同時,也可以幫助更多的人,
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/292078.html
標籤:其他

