如何在 Flutter 中限制 textinput 中的特殊字符?
How to limit special characters in textinput in Flutter?
我只想使用 Alphabat、space 和“-”作为使用 "Textinput" 的名称输入。
用法:-
对于用户名输入,我们不想让用户输入“(,),$,%,&,*”字符。
更新 WhitelistingTextInputFormatter
现已弃用,请使用 FilteringTextInputFormatter
例子
inputFormatters: [FilteringTextInputFormatter.allow(RegExp(r'^ ?\d*')),]
inputFormatters: [FilteringTextInputFormatter.deny(' ')]
inputFormatters: [FilteringTextInputFormatter.digitsOnly]
您可以使用 WhitelistingTextInputFormatter
作为输入文本,正如您希望使用 RegExp
一样。
TextFormField(
controller: _titleTextController,
validator: _titleValidator,
decoration: InputDecoration(
labelText: "Title",
suffixIcon: GestureDetector(
onTap: () {
setState(() {
_titleTextController.text ="";
});
},
child: Icon(Icons.clear),
)
),
inputFormatters: [
// @depreacted WhitelistingTextInputFormatter(RegExp("[a-zA-Z -]"))
inputFormatters: [FilteringTextInputFormatter.allow(RegExp("[a-zA-Z -]"))]
],
)
更多可以参考这个:https://api.flutter.dev/flutter/services/TextInputFormatter-class.html
我只想使用 Alphabat、space 和“-”作为使用 "Textinput" 的名称输入。
用法:- 对于用户名输入,我们不想让用户输入“(,),$,%,&,*”字符。
更新 WhitelistingTextInputFormatter
现已弃用,请使用 FilteringTextInputFormatter
例子
inputFormatters: [FilteringTextInputFormatter.allow(RegExp(r'^ ?\d*')),]
inputFormatters: [FilteringTextInputFormatter.deny(' ')]
inputFormatters: [FilteringTextInputFormatter.digitsOnly]
您可以使用 WhitelistingTextInputFormatter
作为输入文本,正如您希望使用 RegExp
一样。
TextFormField(
controller: _titleTextController,
validator: _titleValidator,
decoration: InputDecoration(
labelText: "Title",
suffixIcon: GestureDetector(
onTap: () {
setState(() {
_titleTextController.text ="";
});
},
child: Icon(Icons.clear),
)
),
inputFormatters: [
// @depreacted WhitelistingTextInputFormatter(RegExp("[a-zA-Z -]"))
inputFormatters: [FilteringTextInputFormatter.allow(RegExp("[a-zA-Z -]"))]
],
)
更多可以参考这个:https://api.flutter.dev/flutter/services/TextInputFormatter-class.html