//输入数字、小数点,适用于Money等
function Digit()
{
if(!((event.keyCode>=48&&event.keyCode<=57)||(event.keyCode>=96&&event.keyCode<=105) ||(event.keyCode>=37&&event.keyCode<=40) ||(event.keyCode==46) ||(event.keyCode==9) ||(event.keyCode==8)||(event.keyCode==190)||(event.keyCode==110))) event.returnValue=false;
}
function Digit()
{
if(!((event.keyCode>=48&&event.keyCode<=57)||(event.keyCode>=96&&event.keyCode<=105) ||(event.keyCode>=37&&event.keyCode<=40) ||(event.keyCode==46) ||(event.keyCode==9) ||(event.keyCode==8)||(event.keyCode==190)||(event.keyCode==110))) event.returnValue=false;
}
{
var temp=inputString.value;
if(!isNaN(parseInt(temp))){
}else{
inputString.value="0";
alert('这里只能输入数字!');
}
}
import javax.swing.text.*;import java.awt.Toolkit;
import java.text.NumberFormat;
import java.text.ParseException;
import java.util.Locale;public class NumberTextField
extends JTextField
{
private Toolkit toolkit;
private NumberFormat integerFormatter; public NumberTextField(Object value)
{
this.setHorizontalAlignment(JTextField.RIGHT);
toolkit = Toolkit.getDefaultToolkit();
integerFormatter = NumberFormat.getNumberInstance(Locale.getDefault());
integerFormatter.setParseIntegerOnly(true);
setValue(value);
} public NumberTextField(int value, int columns)
{
super(columns);
this.setHorizontalAlignment(JTextField.RIGHT);
toolkit = Toolkit.getDefaultToolkit();
integerFormatter = NumberFormat.getNumberInstance(Locale.getDefault());
integerFormatter.setParseIntegerOnly(true);
setValue(new Integer(value));
} protected Document createDefaultModel()
{
return new WholeNumberDocument();
} protected class WholeNumberDocument
extends PlainDocument
{
public void insertString(int offs, String str, AttributeSet a)
throws BadLocationException
{
char[] source = str.toCharArray();
char[] result = new char[source.length];
int j = 0;
for (int i = 0; i < result.length; i++)
{
if (Character.isDigit(source[i]))
result[j++] = source[i];
else
{
toolkit.beep();
//System.err.println("insertString: " + source[i]);
}
}
super.insertString(offs, new String(result, 0, j), a);
}
}
public void setValue(Object value)
{
setText(integerFormatter.format(value));
} public Object getValue()
{
int retVal = 0;
try
{
retVal = integerFormatter.parse(getText()).intValue();
}
catch (ParseException e)
{
// This should never happen because insertString allows
// only properly formatted data to get in the field.
toolkit.beep();
}
return new Integer(retVal);
}
}