验证数字并允许空格

Validate a number and allow spaces

本文关键字:空格 许空格 数字 验证      更新时间:2023-09-26

我目前使用redux表单来验证我的一些字段:

const validate = values => {
  const errors = {}
  function isNumeric(n) {
    return !isNaN(parseFloat(n)) && isFinite(n);
  }
  if (!values.details) {
    errors.details = 'Must declare'
  }
  if (!values.phone) {
    errors.phone = 'Required'
  } else if(!isNumeric(values.phone)) {
    errors.phone = 'Must ne a number'
  }
  if (!values.fax) {
    errors.fax = 'Required'
  } else if(!isNumeric(values.fax)) {
    errors.fax = 'Must ne a number'
  }
  return errors
}

我的问题是"9428 5977"的条目由于中间的空格而产生验证错误。如何修复验证以允许此空间?

您可以使用RegExp来匹配您的输入。

function isNumeric(n) {
    return n && /^[0-9 ]+$/g.test(n);
}

根据您提到电话和传真的示例代码,我相信您不希望像-3.05E-08这样的东西是有效的,即使这是一个有效的有限数。