如何在Flutter TextField中用正则表达式过滤|字符
解决Flutter TextField禁止输入|字符的正则方案
你需要的正则表达式是 r'[^|]',这个表达式的作用是匹配除了竖线|之外的所有字符,正好满足你禁止输入|的需求。
替换后的完整TextField代码如下:
TextField( inputFormatters: [ FilteringTextInputFormatter.allow( RegExp(r'[^|]'), ), ], maxLength: 20, controller: titleEditingController, decoration: const InputDecoration( hintText: 'Title', label: Text("Title"), ), ),
简单说明:
[^|]是正则的取反语法,表示匹配任何不是|的字符- 前缀
r代表原始字符串,能避免转义字符的干扰,让正则写法更简洁
内容的提问来源于stack exchange,提问作者Chris
相关产品推荐
相关产品推荐

