You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 19:52:01