textbox 输入一个数字自动加逗号(CS)

tingting74998 2011-06-30 10:14:34
textbox 输入一个数字自动加逗号,且只能输入数字,每输入一位自动价格逗号,如:1,2,3,...

求大侠指导!
...全文
1410 48 打赏 收藏 转发到动态 举报
写回复
用AI写文章
48 条回复
切换为时间正序
请发表友善的回复…
发表回复
code_li 2012-09-20
  • 打赏
  • 举报
回复
private void txtdate_KeyPress(object sender, KeyPressEventArgs e)
{
if ((e.KeyChar >= '0' && e.KeyChar <= '9') || (e.KeyChar >= 'A' && e.KeyChar <= 'F') || (e.KeyChar >= 'a' && e.KeyChar <= 'f') || ((Keys)(e.KeyChar) == Keys.Back))
{ e.Handled = false; }
else
{
e.Handled = true;
MessageBox.Show("只能输入数字或字母(A-F[a-f])");
}
}
潇洒王子 2011-07-04
  • 打赏
  • 举报
回复
可以收藏了!
你我他 2011-07-04
  • 打赏
  • 举报
回复
大牛们 很多。。
XEnson 2011-07-04
  • 打赏
  • 举报
回复
jquery-1.5.min.js

function InputChange() {
var inival = $("#valch").val();
var regval = $("#valreg").val();

if (regval != "" && inival != "")
regval = regval + "," + inival;
else
regval = inival;

$("#valreg").val(regval);
}
pasco 2011-07-03
  • 打赏
  • 举报
回复
路过看看
remember_me 2011-07-03
  • 打赏
  • 举报
回复
TextChanged事件·
老毕 2011-07-03
  • 打赏
  • 举报
回复
把我在26楼的回复里的正则稍微改一下,就可以支持多位数字输入。
每输入完一个数字,按一下空格或者其他键,将视作当前数字输入结束,开始下一个数字的输入。
文本框本来的复制、删除、粘贴等功能不受影响。而且因为正则,粘贴时会自动过滤,只剩下数字,挺有趣的。
Regex reg = new Regex(@"[0-9]{1,}[,]?");


这个正则应该还有改进的余地,有空再琢磨琢磨。
  • 打赏
  • 举报
回复
帮顶!!
taozi165 2011-07-02
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 huangwenquan123 的回复:]

HTML code
<head runat="server">
<title>无标题页</title>
<script type="text/javascript">
function input(obj){
var reg=/^(\d,?)*$/;
if(reg.test(obj.value))
……
[/Quote]
有很多问题,输入不了两位数。
lihanbing 2011-07-01
  • 打赏
  • 举报
回复
简单写了一下,要想完美处理,还得处理更多的东西,鼠标啦,剪切操作啦,拖放等等
       private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
TextBox t = sender as TextBox;
if (e.KeyChar >= '0' && e.KeyChar <= '9')
{
t.SelectedText = string.Concat(e.KeyChar , ',');
e.Handled = true;
}
else if (e.KeyChar == (char)ConsoleKey.Backspace)
{
if (t.SelectionStart >= 2)
{
t.SelectionStart -= 2;
t.SelectionLength = 2;
t.SelectedText = "";
}
e.Handled = true;
}
else
e.Handled = true;
}
--浮生若梦-- 2011-07-01
  • 打赏
  • 举报
回复

Private Sub TextBox1_KeyPress1(ByVal sender As Object, ByValeAsSystem.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
If Asc(e.KeyChar) <> Keys.Back Then
If e.KeyChar < "0" Or e.KeyChar > "9" Then
MessageBox.Show("只能输入整数!")
e.Handled = True
Exit Sub
Else
TextBox1.Text = TextBox1.Text.Trim() + ","
End If
End If
End Sub


不知道这样能不能满足需求呢~
早起晚睡 2011-07-01
  • 打赏
  • 举报
回复
这个不是网页的用JS干什么啊
至尊贱客 2011-06-30
  • 打赏
  • 举报
回复
这个问题不难,但你要知道什么样的情况下才算输入完成一个数字,比如说我输入45是判断4就完成了还是45完成了呢
whrspsoft3723 2011-06-30
  • 打赏
  • 举报
回复
可以试下TextChange事件,先记录插入标的位置,当变化时,光标前如果是数字,则直接插入一个,然后,把光标放到,后。
白鸽 2011-06-30
  • 打赏
  • 举报
回复
winform还是web。web用js控制,网上一大把,winform后台直接写就行了
秋叶随风飘落 2011-06-30
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 huangwenquan123 的回复:]
HTML code

<head runat="server">
<title>无标题页</title>
<script type="text/javascript">
function input(obj){
var reg=/^(\d,?)*$/;
if(reg.test(obj.value))
……
[/Quote]
用个正则表达式,这个不错
huangwenquan123 2011-06-30
  • 打赏
  • 举报
回复
<head runat="server">
<title>无标题页</title>
<script type="text/javascript">
function input(obj){
var reg=/^(\d,?)*$/;
if(reg.test(obj.value))
obj.value+=",";
else
obj.value=obj.value.replace(/(\d,)[^\d]/g,"$1");
}
</script>
</head>
<body>
<input id="Text1" type="text" onkeyup="input(this)" />
</body>
</html>
至尊贱客 2011-06-30
  • 打赏
  • 举报
回复
这个问题不难,但你要知道什么样的情况下才算输入完成一个数字,比如说我输入45是判断4就完成了还是45完成了呢
tingting74998 2011-06-30
  • 打赏
  • 举报
回复
沉了沉了~
tingting74998 2011-06-30
  • 打赏
  • 举报
回复
错了,是自动加逗号[Quote=引用 12 楼 tingting74998 的回复:]
keypress事件输入后,如果我输入错误,按键盘的删除键,也会自动加删除啊~~~~~
[/Quote]
加载更多回复(27)

110,567

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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