如何保证在文本框里面输入的是数字,而不接受其他的内容? 用javascipt来控制不就行了吗??? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用document来实现....改写其中的insertString()方法 textField.getDocument().addDocumentListener(new MyDocumentListener());MyDoucmentListener里面写你必须要数字的代码. 只能输入数字的:<input onkeyup="value=value.replace(/[^\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"> public class CInputLimitDoc extends PlainDocument{ public void insertString(int offset,String s,AttributeSet a)throws BadLocationException { String strNew; //文本框将要显示的字符串 //取得当前文本框中的字符串和插入字符串,合并得新字符串 strNew=getText(0,offset).trim()+s+getText(0,getLength()).substring(offset).trim(); try { //如果输入为空,则不检查 if(strNew.trim().equals("")) return; //如果要限制长度,则判断新字符串是否超过长度 if ((strNew.length()>iMaxLength)&&bIsCheckLength) { strWarning="输入长度不能超过 "+iMaxLength+" !"; throw new Exception(); } //如果已设置,则进行数字输入检查 if(bIsCheckNumber) checkNumber(s); //如果已设置,则检查整数输入最大值 if(iMaxInteger!=0&&(Integer.parseInt(strNew)>iMaxInteger)) { strWarning="输入整数值不能超过 "+iMaxInteger+" !"; throw new Exception(); } //如果已设置,则进行小数输入检查 if(bIsCheckFloat) checkFloat(strNew,s); //如果已设置,则进行字母和数字输入检查 if(bIsCheckCharAndNumber) checkCharAndNumber(s); //检查IP输入(某一个文本框) if(bIsCheckIP) { //检查输入合法性 checkIP(strNew,s,offset); //如果标志已设置,则退出,不插入 if(strWarning.equals("")) return; } //插入合法字符 super.insertString(offset,s,a); } catch (Exception e) { //响一声报警并给出提示信息,不显示插入的不合法字符 Toolkit.getDefaultToolkit().beep(); javax.swing.JOptionPane.showMessageDialog(null,strWarning,"非法输入",JOptionPane.ERROR_MESSAGE); return; } }} 如果你想在jsp用java控制,那么你可以将get到的字符串用Integer.parseInt函数转换,如果抛出异常,则提示用户输入有误。 你可以继承文本输入类呀,将其中的键盘消息处理重载为自己的方法即可:public boolean handleEvent(Event evt){ if(evt.id==Event.KEY_PRESSED) if(evt.key>="0" && evt.key<="9") return super.handleEvent(evt); else return true; //指示该消息已处理 else return super.handleEvent(evt);} div遮罩层,显示不出来 达人帮我写个bat批处理文件运行jar包 创建了几个对象 怎么实现一个类似迅雷下载页面全部链接时弹出的界面? Header 字段里没有location 吗 有哪位高手用Java开发过GIS方面的软件 现在有三个小小的applet ,给大家实现下,给分的... 一个关于applet的问题 初学JAVA,遇到个难题,请各位指教一下 我正准备学习JAVA,不知如何。。。。。。。。。。。急! 谁知哪里有类似sourceforge.org的开源项目管理系统下载? 急!
MyDoucmentListener里面写你必须要数字的代码.
<input onkeyup="value=value.replace(/[^\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))">
{
String strNew; //文本框将要显示的字符串 //取得当前文本框中的字符串和插入字符串,合并得新字符串
strNew=getText(0,offset).trim()+s+getText(0,getLength()).substring(offset).trim(); try
{
//如果输入为空,则不检查
if(strNew.trim().equals(""))
return; //如果要限制长度,则判断新字符串是否超过长度
if ((strNew.length()>iMaxLength)&&bIsCheckLength)
{
strWarning="输入长度不能超过 "+iMaxLength+" !";
throw new Exception();
} //如果已设置,则进行数字输入检查
if(bIsCheckNumber)
checkNumber(s); //如果已设置,则检查整数输入最大值
if(iMaxInteger!=0&&(Integer.parseInt(strNew)>iMaxInteger))
{
strWarning="输入整数值不能超过 "+iMaxInteger+" !";
throw new Exception();
} //如果已设置,则进行小数输入检查
if(bIsCheckFloat)
checkFloat(strNew,s); //如果已设置,则进行字母和数字输入检查
if(bIsCheckCharAndNumber)
checkCharAndNumber(s);
//检查IP输入(某一个文本框)
if(bIsCheckIP)
{
//检查输入合法性
checkIP(strNew,s,offset);
//如果标志已设置,则退出,不插入
if(strWarning.equals(""))
return;
} //插入合法字符
super.insertString(offset,s,a);
}
catch (Exception e)
{
//响一声报警并给出提示信息,不显示插入的不合法字符
Toolkit.getDefaultToolkit().beep();
javax.swing.JOptionPane.showMessageDialog(null,strWarning,"非法输入",JOptionPane.ERROR_MESSAGE);
return;
}
}
}
public boolean handleEvent(Event evt)
{
if(evt.id==Event.KEY_PRESSED)
if(evt.key>="0" && evt.key<="9")
return super.handleEvent(evt);
else
return true; //指示该消息已处理
else
return super.handleEvent(evt);
}