JS正则表达式限制输入数量和金额

限制输入数量:

// 如果输入非数字,则替换为 ''

// 前两位不能同时是 0

value = value.replace(/[^\d]/g, '').replace(/^00*(\d)([0-9]*)/g, '$1$2')

限制输入金额:

// 如果输入非数字和小数点,则替换为 ''
// 前两位不能同时是 0
// 必须保证第一个为数字而不是小数点

// 保证小数点只出现一次,而不能出现两次以上

value = value
    .replace(/[^\d\.]/g, '')
    .replace(/^00*(\d)([0-9]*)/g, '$1$2')
    .replace(/^\./g, '')
    .replace('.', '$#$')
    .replace(/\./g, '')
    .replace('$#$', '.')
    .replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3')