使input输入框只能输入正整数,那么只需要input输入框输入到每个字符都必须是数字即可。
// 判断是否是假值 [] {} '' undefined null NAN
export function isFalseValue(value: any) {
const type: string = Object.prototype.toString.call(value)
if (type === '[object String]') {
return value === ''
}
if (type === '[object Array]') {
return !Boolean(value.length)
}
if (type === '[object Number]') {
return isNaN(value)
}
if (type === '[object Object]') {
return !Boolean(Object.keys(value).length)
}
if (type === '[object Null]') {
return true
}
if (type === '[object Undefined]') {
return true
}
return false
}
export function isNumber(value: any) { // 截取字符串最后一位,判断是否是数字
return !(
isFalseValue(Number(value.trim().substr(-1))) // 判断字符转换为数字时时否为假值
||
value.substr(-1) === ' ' // 判断是否为空格
)
}
//一下以 ant-design Input组件为例:
<Form.Item
name="min_amount"
noStyle
getValueFromEvent={(e: any) => {
return e.target.value;
} else {
return e.target.value?.slice(0, -1); // 不是数字,删除最后一位字符返回
}
}}
>
<Input
placeholder="金额最小值"
min={0}
bordered={false}
/>
</Form.Item>