Skip to content

normalizeExternalId

跨 HTTP / JWT / IM 入参的统一外部 id 规范化与校验。

函数签名

typescript
const MAX_EXTERNAL_ID_LENGTH = 512
const EXTERNAL_ID_CHAR_CLASS_RE = /^[^\x00-\x1f\x7f\\/\u202e]+$/u

function normalizeOptionalExternalId(raw: unknown): string | undefined

function isValidExternalIdString(s: string): boolean

参数

参数名类型必填说明
rawunknown原始入参(通常 query / body / JWT)
sstring已知为 string 时的便捷校验

返回值

函数类型说明
normalizeOptionalExternalIdstring | undefined合法则 trim 后字符串;否则 undefined
isValidExternalIdStringboolean是否通过规范化

工作原理

  1. 非 string、空串、超长(>512)、含控制符///\/U+202E 均视为非法。
  2. EXTERNAL_ID_CHAR_CLASS_RE 供 class-validator @Matches 使用(不含长度约束)。

使用场景

  • IM peer_user_id、联系人查询参数
  • JWT sub 与库主键的字符串形式校验