美文网首页
正则表达式

正则表达式

作者: sweetBoy_9126 | 来源:发表于2021-06-13 16:21 被阅读0次
    1. 输入价格的时候最多输入两位小数并且不允许输入非数字
    limitDecimals = (value) => {
        const reg = /^(\d+)\.(\d\d).*$/;
        if(typeof value === 'string') {
          // !isNaN(Number(value)) 用过不是纯数字的话,使用Number(str)就会返回isNaN,所以如果输入的是数字 !isNaN(Number(value)) 就是 true,走正则替换($1匹配满足第一个括号里的正则的内容),否则就直接置空
            return !isNaN(Number(value)) ? value.replace(reg, '$1.$2') : ''
        } else if (typeof value === 'number') {
            return !isNaN(value) ? String(value).replace(reg, '$1.$2') : ''
        } else {
            return ''
        }
      };
    

    配合 antd InputNumber 组件用法,让 formatter 和 parser 都等于这个方法

    <InputNumber
                placeholder="请输入市场价"
                value={item}
                allowClear
                min={0}
                max={99999}
                step={0.01}
                formatter={this.limitDecimals}
                parser={this.limitDecimals}
                onChange={e => this.props.handleSkuChange(e, 'marketPrice', index)}
              />
    

    相关文章

      网友评论

          本文标题:正则表达式

          本文链接:https://www.haomeiwen.com/subject/qelgeltx.html