使用javascript验证正则表达式的问题

问题描述

我在验证此正则表达式时遇到问题。实际上,该功能就像中间件一样,可以验证来自用户的输入,该用户接受逗号后最多2个小数位。

我需要考虑以下示例:

通过:

  • 1.12

  • 10.15

  • 20

  • 14.1

失败:

  • 10.100

  • 15,10

  • 12e9

  • 上面有字母的任何东西

我的尝试:

const validation = (values) => {
  let errors = {};
  let commaValidation = new RegExp("^(\d{1,2}(?:\.\d{1,2}))");
  for (var prop in values) {
    if (commaValidation.test(commaValidation.test(parseFloat(values[prop] && parseFloat(values[prop]) >= 0 && parseFloat(values[prop] <= 20))) ) {
      if (Object.prototype.hasOwnProperty.call(values,prop)) {
        errors[prop] = "Entrez un nombre entre 0,00 et 20,00";
      }
    }
  }
  return errors;
};

export default validation;

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...