Javascript 基于小数点后的变量验证regexp

Javascript 基于小数点后的变量验证regexp,javascript,Javascript,变量精度=!!values.amountprecision&&values.amountprecision||'2'; var temp=/^\d+\.\d{1,2}?$/; 温度测试1.1221 使用excplicit构造函数而不是文字: var temp = new RegExp('^\d+(\.\d{' + precision + '})?$'); 根据您的代码“var temp=/^\d+。\d{1,2}?$/;”,我猜您需要一个整数或小数点后有1或2位数字的浮点。以及由变量精度决定的

变量精度=!!values.amountprecision&&values.amountprecision||'2'; var temp=/^\d+\.\d{1,2}?$/;
温度测试1.1221 使用excplicit构造函数而不是文字:

var temp = new RegExp('^\d+(\.\d{' + precision + '})?$');

根据您的代码“var temp=/^\d+。\d{1,2}?$/;”,我猜您需要一个整数或小数点后有1或2位数字的浮点。以及由变量精度决定的位数。如果是,试试这个


设temp=newregexp`^\\d+\.\\d{${precision}}?$`

测试使用正则表达式强制转换为字符串的数字让我感到很不舒服。你认为这个数字的精确度是多少?至少把它们四舍五入到五到六位数,这样你就失去了epsilon附近的伪影。此外,如果您要求精度为2,1.7将始终失败,因为1.70将自动强制为1.7,而不是1.70。我回答了关于如何将动态事物嵌入regexp的问题;但除非你做了一些我没想到的奇怪和美妙的事情,否则你可能会想重新思考你的方法。