例如我有一個文本框,我輸入12000,我希望它在文本框中看起來像12,000我該怎麼做?即時通訊使用HTML做文本如何添加千位分隔符到我的html表格
回答
這可能是一個糟糕的主意......
<!doctype html>
<html lang="en">
<head>
<meta charset= "utf-8">
<title>Comma Thousands Input</title>
<style>
label, input, button{font-size:1.25em}
</style>
<script>
// insert commas as thousands separators
function addCommas(n){
var rx= /(\d+)(\d{3})/;
return String(n).replace(/^\d+/, function(w){
while(rx.test(w)){
w= w.replace(rx, '$1,$2');
}
return w;
});
}
// return integers and decimal numbers from input
// optionally truncates decimals- does not 'round' input
function validDigits(n, dec){
n= n.replace(/[^\d\.]+/g, '');
var ax1= n.indexOf('.'), ax2= -1;
if(ax1!= -1){
++ax1;
ax2= n.indexOf('.', ax1);
if(ax2> ax1) n= n.substring(0, ax2);
if(typeof dec=== 'number') n= n.substring(0, ax1+dec);
}
return n;
}
window.onload= function(){
var n1= document.getElementById('number1'),
n2= document.getElementById('number2');
n1.value=n2.value='';
n1.onkeyup= n1.onchange=n2.onkeyup=n2.onchange= function(e){
e=e|| window.event;
var who=e.target || e.srcElement,temp;
if(who.id==='number2') temp= validDigits(who.value,2);
else temp= validDigits(who.value);
who.value= addCommas(temp);
}
n1.onblur= n2.onblur= function(){
var temp=parseFloat(validDigits(n1.value)),
temp2=parseFloat(validDigits(n2.value));
if(temp)n1.value=addCommas(temp);
if(temp2)n2.value=addCommas(temp2.toFixed(2));
}
}
</script>
</head>
<body>
<h1>Input Thousands Commas</h1>
<div>
<p>
<label> Any number <input id="number1" value=""></label>
<label>2 decimal places <input id="number2" value=""></label>
</p></div>
</body>
</html>
用戶輸入我會建議不要格式化值包含逗號。處理整數值(12000)會比處理一次字符串值(12,000)容易得多。
但是,如果您確定格式化該值,則按照@achusonline的建議,我會屏蔽該值。這裏是一個jQuery插件,會得到這樣的結果是有用的:
「更容易對付......」 真的嗎?我的意思是剝離格式非常簡單。處理多語言用戶的格式非常困難。但是,如果您要在客戶端中添加格式,則在提交時剝離它很簡單。 – 2016-06-28 16:14:46
試着這麼做this
function addCommas(nStr)
{
nStr += '';
x = nStr.split('.');
x1 = x[0];
x2 = x.length > 1 ? '.' + x[1] : '';
var rgx = /(\d+)(\d{3})/;
while (rgx.test(x1)) {
x1 = x1.replace(rgx, '$1' + ',' + '$2');
}
return x1 + x2;
}
然後用它在你的文本框,像這樣
<input type="text" id="txtBox" onchange="return addCommas(this.value)" />
希望這有助於
感謝數百萬人!豎起大拇指@Mark Walters – dames 2012-03-19 16:33:28
對於未來的讀者,請記住,輸入'type =「number」'失敗,因爲html5數字字段不能接受逗號 – 2016-01-08 14:09:03
,因爲@DarrenSweeney說'數字'不接受逗號。但'type =「tel」'會做一個詭計 – 2018-02-26 09:22:45
使用jQuery的autoNumeric plugin:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Input with separator</title>
<script type="text/javascript" src="jquery-1.11.0.js"></script>
<script type="text/javascript" src="autoNumeric.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#myinput").autoNumeric(
'init', {aSep: ',', mDec: '0', vMax: '99999999999999999999999999'}
);
});
</script>
</head>
<body>
<input id="myinput" name="myinput" type="text" />
</body>
</html>
- 1. 添加千位分隔符
- 2. 格式千位分隔符
- 3. 如何在Arduino上格式化長添加千位分隔符
- 4. 使用number_format添加千位分隔符
- 5. 添加千位分隔符,自動(SWIFT)
- 6. 使用逗號在IPython.display中添加千位分隔符HTML
- 7. 千位分隔符的數字格式
- 8. 使用千位分隔符的空格
- 9. R:pixiedust - 如何爲數字添加千位分隔符?
- 10. 如何將千位分隔符添加到c#中的數字字符串?
- 11. kendoNomeric格式不帶千位分隔符
- 12. 將千位分隔符添加到matplotlib子標籤條標籤
- 13. 千位分隔符在Python
- 14. QSpinBox千位分隔符
- 15. 千位分隔符printf
- 16. Apache poi - 千位分隔符
- 17. MYSQL - 千位分隔符
- 18. 在c中添加千位分隔符以加倍#
- 19. 添加$符號標籤上的文本和添加千位分隔符
- 20. Ext.util.Format.number - 如何在添加千位分隔符時保留小數位?
- 21. 如何在Python中爲千位分隔符格式化?
- 22. 用Javascript或jQuery添加千位分隔符?
- 23. 在浮點值中添加千位分隔符
- 24. PHP將千位分隔符添加到數字並保持前導零位
- 25. 如何將千位逗號分隔符添加到此字符串格式中:(%0.2f)?
- 26. 如何在Windows上向C中的double添加千位分隔符?
- 27. 如何在jquery中添加千位分隔符的數組數組?
- 28. 格式ItemTemplate GridView錢項目到千位分隔符ASP.NET?
- 29. DataGridView的單元格格千位分隔符
- 30. .Net/F中的千位分隔符#
謝謝你,但你爲什麼說這可能是一個壞主意? – dames 2012-03-19 18:57:09
這是一個壞主意,因爲它會改變提交給服務器的文本。 – David 2014-05-06 05:36:56