[英]Remove comma from input type number on javascript
現在我正在做 PHP 項目與 JQuery 結合。 我制作了一個具有<input type="number">
的表單頁面
根據這個輸入,我制定了限制小數點后 2 位的規則。 這是代碼
<input
type = "number"
onkeypress = "return isNumeric(event)"
oninput = "maxLengthCheck(this)"
name ="cost">
JS
function maxLengthCheck(object) {
if (object.value.length > object.maxLength)
object.value = object.value.slice(0, object.maxLength)
var prev = object.getAttribute("data-prev");
prev = (prev != '') ? prev : '';
if (Math.round(object.value*100)/100!=object.value)
object.value=prev;
object.setAttribute("data-prev",object.value)
}
function isNumeric (evt) {
var theEvent = evt || window.event;
var key = theEvent.keyCode || theEvent.which;
key = String.fromCharCode (key);
var regex = /[0-9]|\./;
if ( !regex.test(key) ) {
theEvent.returnValue = false;
if(theEvent.preventDefault) theEvent.preventDefault();
}
}
代碼可以正常工作。 但是當在 (.) 點后面插入超過 2 位小數時。 (.) 點會變成 (,) 逗號。
前任。 “19.459”。 輸入時將顯示“19,45”。 這是錯誤的
正確的是前。 輸入“19.878”我想顯示“19.87”
我在這個網站上做了一個樣本https://repl.it/@ferdinandgush/add-2-decimal-behind 。 只需單擊頂部的“運行”按鈕即可進行測試
我如何仍然能夠保持 (.) 點即使我在 (.) 點后面鍵入另一個數字?
您可能所在的國家/地區通常使用逗號作為小數點分隔符,而瀏覽器將其用於<input type=number>
顯示。
某些瀏覽器(例如 Firefox)使用lang
屬性來確定要使用的語言,當它在輸入或其任何父元素上設置時,因此您可以這樣做。
然而,其他瀏覽器(如 Chrome)不尊重該lang
屬性。 如果你需要它在所有瀏覽器中工作,那么你唯一的選擇是,據我所知,不使用<input type=number>
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.