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

OpenAPI 3.0.3配置正则禁止字符串含空格和连字符的方法

问题根源

你当前配置的pattern: '^\s-$'正则规则完全不符合需求,该规则的实际含义是「仅允许输入由1个空白字符+1个连字符组成的长度固定为2的字符串」,因此所有不符合这个格式的输入都会触发校验失败,这就是你输入合法纯字母数字值也报错的原因。

正确配置方案

根据你「仅允许传入字母数字值,禁止空格、连字符及其他特殊字符」的需求,推荐使用正向匹配正则,规则更明确,避免漏判其他特殊字符:

pattern: '^[a-zA-Z0-9]+$'

该规则的含义是:从字符串开头到结尾,只能包含大小写英文字母、阿拉伯数字,且长度至少为1,刚好匹配你已经配置的minLength: 1要求。

如果你的需求后续拓展为允许除了空格、连字符之外的其他字符,也可以使用反向排除规则:

pattern: '^[^-\s]+$'

修改后完整字段配置示例

account:
  type: 'string'
  description: Identifier for account making the purchase
  example: '1'
  minLength: 1
  pattern: '^[a-zA-Z0-9]+$'

校验效果说明

  • 合法输入(校验通过):ab、123、a1B9等纯字母数字组合
  • 非法输入(校验失败):a b(带空格)、a-b(带连字符)、a@b(带其他特殊字符)

内容的提问来源于stack exchange,提问作者PacificNW_Lover

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 06:24:05