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

如何在Zod中移除字符串的所有空白字符?

Zod字符串移除所有空白字符的实现办法

Zod自带的trim()只能清理首尾空白,要移除所有空白的话,用transform方法做预处理就行,直接替换掉原代码里的.trim():

const stp = z.string({
    invalid_type_error: '',
    required_error: '',
})
// 全局移除所有空白字符(空格、换行、制表符都包含在内)
.transform(val => val.replace(/\s/g, ''))
.min(1, { message: '' })
.max(10, { message: '' })
.regex(reg, { message: '', });

补充说明:

  • transform会先对输入字符串做处理,后续的min、max、regex校验都是基于处理后的无空白字符串执行的
  • 正则/\s/g里的\s匹配所有类型的空白字符,g标记确保替换所有匹配项;如果只需要移除空格(保留换行、制表符),可以把正则改成/ /g
  • 要是你只想在校验时忽略空白,但保留原始输入值,可以用refine方法,但多数业务场景下transform更实用,因为处理后的值就是你最终要用的无空白版本

内容的提问来源于stack exchange,提问作者I try so hard but I cry harder

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 17:15:58