我希望实现一个TextInput,以便它接受不同格式的金额。例如:2502,50,0002.50假设我输入2f50,它应该是250。如果我们输入2.5,它应该是2.5,等于2,50,000;只有25万。我的TextInput应该只接受数字、逗号和小数。
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值时
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内部输入控件的一部分,否则用户将永远无法键入.或,
textfield
1条答案
按热度按时间elcex8rz1#
当用户完成键入时,即当您要使用
input
值时1.检查
input
值是否以.
或,
结尾,以便删除它1.检查
input
值是否以.
或,
开头,以便删除它(我不知道您是否要这样做,但这是如何)**注意:**这些测试不应是
textfield
内部输入控件的一部分,否则用户将永远无法键入.
或,