js限制input的输入

- 日理万妓 2023-06-28 15:25 76阅读 0赞

限制只能输入大于等于0的正整数

  1. onkeyup="value=(value.replace(/\D/g,'')==''?'':parseInt(value))"

限制输入正整数(不包括0)

  1. onkeyup="value=value.replace(/^(0+)|[^\d]+/g,'')"

限制输入大于等于0的两位小数

  1. oninput="value= value.match(/\d+(\.\d{0,2})?/) ? value.match(/\d+(\.\d{0,2})?/)[0] : ''"

element in-put

  1. <el-input v-model="formData.crossedPrice"
  2. :onkeyup="(formData.crossedPrice = formData.crossedPrice.replace(/[^0-9.]/gi, ''))"
  3. ></el-input>
  4. /**
  5. * oninput 限制输入框小数点位数,多出的过滤掉
  6. * @param Number {num}
  7. * @param Number {limit}
  8. * Created by preference on 2020/04/10
  9. */
  10. oninput(num, limit) {
  11. var str = num
  12. var len1 = str.substr(0, 1)
  13. var len2 = str.substr(1, 1)
  14. //如果第一位是0,第二位不是点,就用数字把点替换掉
  15. if (str.length > 1 && len1 == 0 && len2 != ".") {
  16. str = str.substr(1, 1)
  17. }
  18. //第一位不能是.
  19. if (len1 == ".") {
  20. str = ""
  21. }
  22. //限制只能输入一个小数点
  23. if (str.indexOf(".") != -1) {
  24. var str_ = str.substr(str.indexOf(".") + 1)
  25. if (str_.indexOf(".") != -1) {
  26. str = str.substr(0, str.indexOf(".") + str_.indexOf(".") + 1)
  27. }
  28. }
  29. //正则替换
  30. str = str.replace(/[^\d^\.]+/g, '') // 保留数字和小数点
  31. if (limit / 1 === 1) {
  32. str = str.replace(/^\D*([0-9]\d*\.?\d{0,1})?.*$/,'$1') // 小数点后只能输 1 位
  33. } else {
  34. str = str.replace(/^\D*([0-9]\d*\.?\d{0,2})?.*$/,'$1') // 小数点后只能输 2 位
  35. }
  36. return str
  37. },

发表评论

表情:
评论列表 (有 0 条评论,76人围观)

还没有评论,来说两句吧...

相关阅读