我目前正在使用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"由于两者之间的空间而给出验证错误。如何修复我的验证以允许此空间?
答案 0 :(得分:0)
您可以使用RegExp来匹配您的输入。
function isNumeric(n) {
return n && /^[0-9 ]+$/g.test(n);
}
根据您提及电话和传真的示例代码,我相信即使这是有效的有限数字,您也不希望-3.05E-08
之类的内容有效。