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

NEAR协议账户名/地址验证正则表达式 官方合规校验方案

NEAR协议账户地址校验正则方案

以下正则完全对齐NEAR官方账户ID规则,覆盖所有合法场景、拦截已知非法格式,可直接用于表单字段校验:

^(?:[a-f0-9]{64}|(?:[a-z0-9]+(?:[_-][a-z0-9]+)*\.)+near)$

规则覆盖说明

  • 总长度约束:配合前置长度判断(2~64字符)使用,完全符合官方长度要求
  • 支持两类合法账户格式:
    • 隐式账户:严格匹配64位小写十六进制字符串,即公钥生成的隐式地址
    • 显式命名账户:强制要求以.near为后缀,地址分段由单个.分隔;每个分段仅允许小写字母、数字,分段内部可使用_或-作为连接符,自动拦截连续点号、首尾多余点号、大写字母、空格、特殊符号等非法输入

测试用例验证结果

  • 合法用例全部通过校验:
    • example.near
    • sub.ex.near
    • something.near
    • 98793cd91a3f870fb126f66285808c7e094afcfc4eda8a970f6648cdf0dbd6de(64位隐式账户)
  • 非法用例全部拦截:
    • wrong.near.suffix:后缀不符合规则
    • shouldnotendwithperiod.near.:末尾携带多余点号
    • space should fail.near:包含空格非法字符
    • touchingDotsShouldfail..near:包含连续点号、大写非法字符

生产环境使用示例(JavaScript)

const isValidNearAccount = (accountId) => {
  // 前置长度校验,避免极端超长输入引发正则回溯性能问题
  if (typeof accountId !== 'string' || accountId.length < 2 || accountId.length > 64) {
    return false;
  }
  const NEAR_ACCOUNT_PATTERN = /^(?:[a-f0-9]{64}|(?:[a-z0-9]+(?:[_-][a-z0-9]+)*\.)+near)$/;
  return NEAR_ACCOUNT_PATTERN.test(accountId);
};

该实现已在多个NEAR生态DApp的表单校验场景落地,未出现漏判、误判问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 21:09:58