将文本输入限制为数字(带或不带小数)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将文本输入限制为数字(带或不带小数)相关的知识,希望对你有一定的参考价值。

  1. // Limit the text field to only numbers (with decimals)
  2. function format(input){
  3. var num = input.value.replace(/,/g,'');
  4. if(!isNaN(num)){
  5. if(num.indexOf('.') > -1){
  6. num = num.split('.');
  7. num[0] = num[0].toString().split('').reverse().join('').replace(/(?=d*.?)(d{3})/g,'$1,').split('').reverse().join('').replace(/^[,]/,'');
  8. if(num[1].length > 2){
  9. alert('You may only enter two decimals!');
  10. num[1] = num[1].substring(0,num[1].length-1);
  11. } input.value = num[0]+'.'+num[1];
  12. } else {
  13. input.value = num.toString().split('').reverse().join('').replace(/(?=d*.?)(d{3})/g,'$1,').split('').reverse().join('').replace(/^[,]/,'') };
  14. } else {
  15. alert('You may enter only numbers in this field!');
  16. input.value = input.value.substring(0,input.value.length-1);
  17. }
  18. }
  19.  
  20. // Limit the text field to only numbers (no decimals)
  21.  
  22. function formatInt(input){
  23. var num = input.value.replace(/,/g,'');
  24. if(!isNaN(num)){
  25. if(num.indexOf('.') > -1) {
  26. alert("You may not enter any decimals.");
  27. input.value = input.value.substring(0,input.value.length-1);
  28. }
  29. } else {
  30. alert('You may enter only numbers in this field!');
  31. input.value = input.value.substring(0,input.value.length-1);
  32. }
  33. }
  34.  
  35.  
  36. //utilization
  37. <input id="text" name="text" size="5" onkeyup="format(this);">

以上是关于将文本输入限制为数字(带或不带小数)的主要内容,如果未能解决你的问题,请参考以下文章

正则限制输入为数字,且最多输入2位小数 之 新写法

将字符串表示为决策树中的特征,词汇量为 200(带或不带 one-hot 编码)

jQuery:限制文本框仅输入“数字”的最佳方法是啥? (允许小数点)

如何接收具有由小数点分隔的数字的用户输入并将该输入存储为不带小数点的 int?

如何将文本字段限制为仅有效的小数?

输入框小数位限制