reactjs 接受数字沿着逗号和十进制值的TextInput

dddzy1tm  于 2023-01-30  发布在  React
关注(0)|答案(1)|浏览(129)

我希望实现一个TextInput,以便它接受不同格式的金额。
例如:
250
2,50,000
2.50
假设我输入2f50,它应该是250。如果我们输入2.5,它应该是2.5,等于2,50,000;只有25万。
我的TextInput应该只接受数字、逗号和小数。

elcex8rz

elcex8rz1#

var ah = '.45f,,6f7..'
  ah.replace(/,/g, ".");
  var i = ah.length - 1;

    while (i != 0) { 
      if (
        (isNaN(ah[i])  && ah[i] != ".") ||
        ((ah[i] == "," || ah[i] == ".") && (ah[i - 1] == "," || ah[i - 1] == "."))
      ) {
        ah = ah.slice(0, i) + ah.slice(i + 1);
      }
     i--;
    }

if (detectionah.includes(".") && detectionah.includes(",")) ah = ah.replace(/,/g, ".");

console.log(ah);

当用户完成键入时,即当您要使用input值时

1.检查input值是否以.,结尾,以便删除它

if (ah.endsWith(".") || ah.endsWith(","))
      ah = ah.slice(0, ah.length - 1) + ah.slice(ah.length - 1 + 1);

1.检查input值是否以.,开头,以便删除它(我不知道您是否要这样做,但这是如何)

if (ah.startsWith(".") || ah.startsWith(","))
       ah = ah.slice(1, ah.length)

**注意:**这些测试不应是textfield内部输入控件的一部分,否则用户将永远无法键入.,

相关问题