黑马程序员技术交流社区

标题: 有没有一个解决方案,让一个文本框中的输入数字? [打印本页]

作者: gzbbxu    时间: 2013-6-10 23:37
标题: 有没有一个解决方案,让一个文本框中的输入数字?
利用正则貌似不够好,我想可以用ASCII应该可以解决,但是不知道怎么解决。求教。
作者: 回首、后_街    时间: 2013-6-10 23:43
你是想让文本框中只输入数字是吗?
如果是的话!那正则表达式应该解决不了,应该是要屏蔽键盘上的按键,只有按数字才可以显示在文本框中!
作者: 杨增坤    时间: 2013-6-11 00:35
你说的是在文本框中输入数字,是个啥意思啊,在文本框中不是输入什么都是以字符串的方式存储的吗?
如果你想把其中的转换成字数字的话,就先读取出来然后,就用类型转换,例如String.valueOf()
如果是在文本框中默认的显示的话,就用
<%
     String s="默认值";
      %>
     <input type="text" name="name" value="<%=s %>"/>
那么结果是:文本框中默认的显示:默认值
希望对你有帮助!

作者: gzbbxu    时间: 2013-6-11 07:12
回首、后_街 发表于 2013-6-10 23:43
你是想让文本框中只输入数字是吗?
如果是的话!那正则表达式应该解决不了,应该是要屏蔽键盘上的按键,只有 ...

正则是可以解决的。网上有例子,但是不想用正则,写的麻烦。
作者: gzbbxu    时间: 2013-6-11 07:14
forward 发表于 2013-6-11 00:35
你说的是在文本框中输入数字,是个啥意思啊,在文本框中不是输入什么都是以字符串的方式存储的吗?
如果你 ...

比如说,一个文本框,输入页数的,所以就只能输入数字了,,想让其他的字符都输不进去。
作者: peerless2012    时间: 2013-6-11 08:04
给输入文本框加入一个键盘监听器
对输入文本进行过滤
  1. but.addKeyListener(new KeyAdapter()
  2.                 {
  3.                         public void keyPressed(KeyEvent e)
  4.                         {       
  5.                                 if(e.isControlDown()&&e.getKeyCode()==KeyEvent.VK_ENTER)
  6.                                         //System.exit(0);
  7.                                 System.out.println("ctrl+enter is run");

  8.                                 System.out.println(KeyEvent.getKeyText(e.getKeyCode())+"...."+e.getKeyCode());
  9.                         }
  10.                 });
复制代码
然后再把得到的数字设置到文本框的内容上
作者: Renica    时间: 2013-6-11 08:23
貌似除了正则表达式,其他方法都比较麻烦啊!
作者: gzbbxu    时间: 2013-6-11 08:33
peerless2012 发表于 2013-6-11 08:04
给输入文本框加入一个键盘监听器
对输入文本进行过滤然后再把得到的数字设置到文本框的内容上 ...

这个可视程序的吗?真心看不懂。
作者: peerless2012    时间: 2013-6-15 06:50
gzbbxu 发表于 2013-6-11 08:33
这个可视程序的吗?真心看不懂。

恩 是可视化程序,添加键盘监听事件,按下一个键就对得到的字符进行判断处理,符合的加入到文本框,不符合的过滤掉




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2