目录
在区块链项目当中不可避免的要进行表单的提交,尤其是涉及发起交易的的时候,对于比较的数值进行必要的校验是比克避免的,本文就来整理一下,笔者在前端项目当中所使用过的正则表达式。
一、不同精度的代币的最大小数位校验
在我做过的区块链项目当中,如果输入的金额小数点超出最大精度,则出现提交不成功的报错行为,为了优化体验,可以进行最大小数位数的校验。由于不同代币的精度是动态的。由于,正则表达式应该传入一个动态的参数。因此,只能私用对象正则来书写:
const decimals = 12;
const reg = new RegExp(`^(([1-9]{1}\\d*)|(0{1}))(\\.\\d{0,${decimals}})?$`);
console.log(reg.test(value));
上面的代码是最大为 是12的一个参数,然后传入正则对象当中,如果出现其他不同的精度,都可以用一个变量来接收ÿ