先了解下ETH address的生成规则:
通过椭圆曲线算法生成钥匙对(公钥和私钥),以太坊采用的是secp256k1曲线。公钥采用uncompressed模式,生成的私钥为长度32的16进制字串,公钥为长度64的公钥字串。公钥04开头。
把公钥去掉04,剩下的进行keccak-256的哈希,得到长度64的16进制字串,丢掉前面24个,拿后40个,再加上"0x",即为以太坊地址。
所以ETH address就是0x开头,后面40位是十六进制的字符串
Jquery Validate可以添加一个自定义方法,来验证eth address:
jQuery.validator.addMethod("eth", function(value, element) {
var tel = /^0[x|X]{1}[0-9|a-f|A-F]{40}$/;
return this.optional(element) || (tel.test(value));
}, "Invalid ETH Address");