输入框如果输入数字自动三位三位加逗号?

chaiyingna88 2010-03-15 10:07:37
帮帮忙了急!谢谢
...全文
889 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
火星大能猫 2010-03-15
  • 打赏
  • 举报
回复
ajax toolkit中的MaskedEditValidator
  • 打赏
  • 举报
回复
asp.net ajax有现成的控件一拖就可以加入了:

http://www.asp.net/ajax/ajaxcontroltoolkit/Samples/MaskedEdit/MaskedEdit.aspx
chaiyingna88 2010-03-15
  • 打赏
  • 举报
回复
为什么输入一个6就变成0.06 输入2个6就变成0.66? 怎样自己输入小数点 ?而不是自动写入?
哈喽Baby 2010-03-15
  • 打赏
  • 举报
回复
这是JS方法

function onKeyPrice(t)
{
var stmp = "";
if(t.value==stmp)
{
return;
}
var ms = t.value.replace(/[^\d\.]/g,"").replace(/(\.\d{2}).+$/,"$1").replace(/^0+([1-9])/,"$1").replace(/^0+$/,"0");
var txt = ms.split(".");
while(/\d{4}(,|$)/.test(txt[0]))
{
txt[0] = txt[0].replace(/(\d)(\d{3}(,|$))/,"$1,$2");
}
t.value = stmp = txt[0]+(txt.length>1?"."+txt[1]:"");
}

在文本框里面加onkeyup事件行了

<asp:TextBox ID="TextBox1" runat="server" onkeyup="onKeyPrice(this);"></asp:TextBox>
qqzeng-ip 2010-03-15
  • 打赏
  • 举报
回复
变一下就行了
qqzeng-ip 2010-03-15
  • 打赏
  • 举报
回复
<html>
<head>
<title>一个自动分位货币输入框</title>
<script>
function currencyFormat(fld, milSep, decSep, e) {
var sep = 0;
var key = '';
var i = j = 0;
var len = len2 = 0;
var strCheck = '0123456789';
var aux = aux2 = '';
var whichCode = (window.Event) ? e.which : e.keyCode;
if (whichCode == 13) return true; // Enter
key = String.fromCharCode(whichCode);
if (strCheck.indexOf(key) == -1) return false; // Not a valid key
len = fld.value.length;
for(i = 0; i < len; i++)
if ((fld.value.charAt(i) != '0') && (fld.value.charAt(i) != decSep)) break;
aux = '';
for(; i < len; i++)
if (strCheck.indexOf(fld.value.charAt(i))!=-1) aux += fld.value.charAt(i);
aux += key;
len = aux.length;
if (len == 0) fld.value = '';
if (len == 1) fld.value = '0'+ decSep + '0' + aux;
if (len == 2) fld.value = '0'+ decSep + aux;
if (len > 2) {
aux2 = '';
for (j = 0, i = len - 3; i >= 0; i--) {
if (j == 3) {
aux2 += milSep;
j = 0;
}
aux2 += aux.charAt(i);
j++;
}
fld.value = '';
len2 = aux2.length;
for (i = len2 - 1; i >= 0; i--)
fld.value += aux2.charAt(i);
fld.value += decSep + aux.substr(len - 2, len);
}
return false;
}
</script>
</head>
<body>
<form>
Enter Value:
<input type=text name=test length=15 onKeyPress="return(currencyFormat(this,',','.',event))">
</form>
<body>
</html>
chaiyingna88 2010-03-15
  • 打赏
  • 举报
回复
具体怎么写啊?说详细点啊
ycproc 2010-03-15
  • 打赏
  • 举报
回复
应当是写JS判断 了

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧