验证数字并允许空格

时间:2016-11-09 23:07:30

标签: javascript redux-form

我目前正在使用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"由于两者之间的空间而给出验证错误。如何修复我的验证以允许此空间?

1 个答案:

答案 0 :(得分:0)

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

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

根据您提及电话和传真的示例代码,我相信即使这是有效的有限数字,您也不希望-3.05E-08之类的内容有效。