如何在JavaScript中验证Aptos账户地址?
Aptos 区块链地址合法性验证方案
Aptos 地址的核心规则很明确:
- 必须以
0x开头 - 紧随其后的是64个十六进制字符(支持大小写,即0-9、a-f、A-F)
- 整个地址的总长度固定为66位
正则表达式验证方案
这是轻量且独立的验证方式,不需要依赖外部库,适合快速集成:
const address = '0xcd30fbbda98b2aed026772c13e5ed90a7f056b589ef9e78cd96415e1af12451c'; function isValidAddress(address) { // 严格匹配Aptos地址格式:0x开头 + 64位十六进制字符 const aptosAddrRegex = /^0x[0-9a-fA-F]{64}$/; // 先检查输入是否为字符串,再做正则校验 return typeof address === 'string' && aptosAddrRegex.test(address); } console.log(isValidAddress(address)); // 输出 true
正则说明:
^和$确保整个字符串完全匹配,避免出现“包含合法地址但整体不合法”的情况[0-9a-fA-F]覆盖所有合法的十六进制字符(大小写都支持){64}精准限定了0x之后的字符长度,保证地址是标准的32字节哈希转码
官方SDK验证方案(推荐生产环境使用)
如果你的项目已经集成了Aptos官方SDK,直接用官方提供的工具函数会更可靠——它能处理边缘情况,也会同步官方对地址规则的更新:
// 先确保已安装@aptos-labs/ts-sdk:npm install @aptos-labs/ts-sdk import { isValidAddress } from "@aptos-labs/ts-sdk"; const address = '0xcd30fbbda98b2aed026772c13e5ed90a7f056b589ef9e78cd96415e1af12451c'; console.log(isValidAddress(address)); // 输出 true
内容的提问来源于stack exchange,提问作者Cosmin Ciolacu
相关产品推荐
相关产品推荐

