验证数字并允许空格
Validate a number and allow spaces
我目前正在使用 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”由于中间的 space 而导致验证错误。我怎样才能修复我的验证以允许这个 space?
您可以使用 RegExp 来匹配您的输入。
function isNumeric(n) {
return n && /^[0-9 ]+$/g.test(n);
}
根据您提到 phone 和传真的示例代码,我相信您不希望像 -3.05E-08
这样的东西有效,即使这是一个有效的有限数字。
我目前正在使用 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”由于中间的 space 而导致验证错误。我怎样才能修复我的验证以允许这个 space?
您可以使用 RegExp 来匹配您的输入。
function isNumeric(n) {
return n && /^[0-9 ]+$/g.test(n);
}
根据您提到 phone 和传真的示例代码,我相信您不希望像 -3.05E-08
这样的东西有效,即使这是一个有效的有限数字。