java判断输入的值是否合法

在textfield中的值进行判断,,只能是数字,可以是小数,但不能是负数。也不能是汉字,!!!求大神贴代码

用正则吧 ^[0-9]*$ 验证数字,第二种就是把值直接转换成double型,try catch一下,不报错就是正确的,报错你就提示输入有误追问

能不能写点代码看看。正则表达式我不会用。

追答

你是要后台验证还是前台验证,说一下

var textfield;

if(textfield!=""&&!(/^[0-9]+(\.[0-9]+)?$ /.test(textfield))){
alert("请输入正确的数字");
}

追问

后台验证,我用的java swing,,就是对textfield的值判断,

追答

public boolean isNumber(String str)
{
java.util.regex.Pattern pattern=java.util.regex.Pattern.compile("^[0-9]+(\\.[0-9]+)?$");
java.util.regex.Matcher match=pattern.matcher(str);
if(match.matches()==false)
{
return false;
}
else
{
return true;
}
}

追问

大神,解决了,谢谢啦,

追答

助人助己

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-05-07
定义一个正则表达式:
var reg=/^(\d+)(\.(\d){1,2})?$/;//1,2表示可以1到2位小数。
reg.test(输入值)返回true表示匹配,false表示不匹配追问

我这个问题是,对一个文本框的价格进行判断,,价格你懂得,小数,整数都行,就是负数和汉字不行,,能不能写点代码我看看。

追答

获取文本框中的值你也不会吗?

追问

我用的java swing,,你这代码貌似是jsp ,

相似回答