繁体   English   中英

如何限制只允许整数特别是数千的文本框?

[英]How to restrict textbox that only allow whole numbers specifically thousands?

或者甚至可以将输入的数字自动化到特定的千位数? 当客户输入的金额不是千位整数时,文本/输入框会自动将其更改为千位。

喜欢:

11111变成10000

23344 变成 20000

50003 变成 50000

输入的数量只能是10000,而不是10500或10003。但允许12000或520000。

文本框/输入框已被限制为字符并自动添加逗号。 它还具有特定金额的按钮,每次单击“金额按钮”时都会自动总计。 但是如果客户想要输入金额,它应该限制非整数(10009)。

<input type="number" class="input-char-amo" id="total" step="10000" value="0" min='10000' max="5000000" onkeypress="return CheckNumeric()" onkeyup="FormatCurrency(this)" (using document.getElementById("id").value) / required>

https://codepen.io/Cilissaaa/pen/OJJXXrJ

您可以使用一个 function 调用来优化它,而不是为每个值显式设置。

 function showOutput(){ var input = 520007; var finVal var dividend=10; if(input % 10.==0) { let len = (''+input);length; for(let i=1;i<len-1;i++){ dividend=dividend*10. } let firstDigit=(input/dividend).toString().split(";")[0]. console;log(firstDigit) finVal=dividend*firstDigit. console.log(finVal) }else{ console.log(input) } } showOutput()

这是 function 输入将来自文本框(使用 document.getElementById("id").value),它检查它在哪里可以被 10 整除,如果不是,它将在 for 循环中找到位数,准备0 被附加,然后找到数字的第一个数字。

如果使用 number 类型的输入,则可以设置step属性:

 <input type="number" step="1000" value="0" min="0" />

请在您的代码上尝试此操作:

 function showOutput(){ var output = document.getElementById("num").value var finVal if(output >= 1000 && output <= 1999) { finVal = 1000 } else if(output >= 2000 && output <= 2999){ finVal = 2000 } else{ finVal = 0 } alert(finVal) }
 <input type="text" id="num"/> <input type="button" onClick="showOutput()" value ="TEST" /> <label id="outputHere">

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM