ETH Address,jquery.validate验证

ETH Address,jquery.validate验证,第1张

先了解下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")

参考规则: https://www.jianshu.com/p/3291d0e4b994

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<title></title>

<script src="js/jquery-1.8.3.min.js" type="text/javascript"></script><!--换成你自己的js引用!-->

<script type="text/javascript">

$(document).ready(function () {

var str = ""

for (var i = 0i <10i++) {

//动态生成input

str += i + ":<input type=\"text\" id=\"input_" + i + "\" value=\"\" onblur=\"InputBlur(" + i + ")\"/>"

//动态生成input后面的提示

str += "<span id=\"spTip_" + i + "\"></span><br/><br/>"

}

$("#divContent").html(str)

})

//光标移开事件

function InputBlur(id) {

var vId = $("#input_" + id).val().trim()

if (vId.length <= 0) {

$("#spTip_" + id).html("请输入数据!")

} else {

$("#spTip_" + id).html("输入正确!")

}

}

</script>

</head>

<body>

<div id="divContent">

</div>

</body>

</html>


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11385137.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-15
下一篇2023-05-15

发表评论

登录后才能评论

评论列表(0条)

    保存