hel*_*ter 10 html javascript css input number-formatting
我有一个表单的文本输入字段,用户可以输入一个数字.我想在每三位数后自动插入一个逗号.
例如,输入"20"将导致"20".输入'100'将导致'100'.但是如果它们输入'1000',则在1和后面的0之间插入逗号(例如,1,000).显然,如果数字达到7位数(例如,1,000,000),这种行为将继续.
是否有捷径可寻?我对这一切都有点新意,所以请回答你和孩子说话:)
以下javascript:
function format(input)
{
var nStr = input.value + '';
nStr = nStr.replace( /\,/g, "");
var x = nStr.split( '.' );
var x1 = x[0];
var x2 = x.length > 1 ? '.' + x[1] : '';
var rgx = /(\d+)(\d{3})/;
while ( rgx.test(x1) ) {
x1 = x1.replace( rgx, '$1' + ',' + '$2' );
}
input.value = x1 + x2;
}
Run Code Online (Sandbox Code Playgroud)
和以下HTML:
<input type="text" onkeyup="format(this)">
Run Code Online (Sandbox Code Playgroud)
应该解决你的问题.关键是使用'onkeyup'.
在这里试试http://jsfiddle.net/YUSph/
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;
}
Run Code Online (Sandbox Code Playgroud)
将输入的值传递给函数并使用返回的结果设置输入。您可以将其绑定到 onchange 事件。
这是一个依赖 jquery 绑定更改事件并设置值的工作示例:http://jsfiddle.net/TYyfn/
逗号脚本来自:http://www.mredkj.com/javascript/nfbasic.html