怎么判断我输入的内容是字符串还是数字?

star123qiu 2002-05-27 01:31:32
怎么判断我输入的内容是字符串还是数字?
有例子:在1.jsp的运行网页中输入分数,在2.jsp中用
String stunumber=request.getParameter("studentnumber").trim();
int studentnum=Integer.valueOf(stunumber).intValue();
即可得到我输入的数字分数。可是,我如果输入字符串的话,就会有错误,那么,我该用什么方法来判断我输入的内容是否为数字?
请赐教!
...全文
90 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
yzysy 2002-05-28
用正则表达式,搞得这么麻烦,我总算知道中国的程序员做出来的程序为什么越来越冗长了。
回复
zijianyi 2002-05-27
对了,用javabean也可以

//检查某个字符是否为合法字符
public boolean check_have(String[] words,String temp){
boolean have=true,have_tmp=false;
int i,j;
for(i=0;i<temp.length();i++){
String t=temp.substring(i,i+1);
for(j=0;j<words.length;j++){
have_tmp=false
if(words[j].equals(t)){
have_tmp=true;
break;}
}
if(!have_tmp){
have=false;
break;
}}
return have;
}



public boolean check_user(String str){
String[]
word={"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p"
,"q","r","s","t","u","v","w","x","y","z","A","B","C","D","E","F","G",
"H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X",
"y","Z","0","1","2","3","4","5","6","7","8","9","_");
if(str==null||str.trim().length()<3||str.trim().length()>20)
right=false;
else{
if(!check_have(word,str)){
right=false;
}
return right;
}


这个代码可以检验数字,也可以检验任何字符,只要你改一下你要求的字母表就可以了
回复
Andrawu 2002-05-27
你最好是在1.jsp中对studentnumber进行检测。
一般不提倡在2.jsp中进行检测
下面提供js函数。

//检测是否是为数字型
function isValidNumber(inputStr) {
var sNumber;
sNumber=Number(inputStr);
if (isNaN(sNumber))
return false;
return true;
}

//检测是否是整数
function isInteger(inputVal) {
var iNumber;
if (inputVal.length > 0) {
iNumber = Number(inputVal);
if (isNaN(iNumber))
return false;
else if (String(iNumber).indexOf(".") >= 0)
return false;
}
return true;
}
回复
Andrawu 2002-05-27
你最好是在1.jsp中对studentnumber进行检测。
一般不提倡在2.jsp中进行检测
下面提供js函数。

//检测是否是为数字型
function isValidNumber(inputStr) {
var sNumber;
sNumber=Number(inputStr);
if (isNaN(sNumber))
return false;
return true;
}

//检测是否是整数
function isInteger(inputVal) {
var iNumber;
if (inputVal.length > 0) {
iNumber = Number(inputVal);
if (isNaN(iNumber))
return false;
else if (String(iNumber).indexOf(".") >= 0)
return false;
}
return true;
}
回复
dushuang 2002-05-27
你可以在1.jsp中设定输入框只能输入数字;
如要判断是不是数字也可以按照字符串每位判断ascii码
回复
zijianyi 2002-05-27
由于是浏览器传参所以一定是字符串类型的

但是你如果非要判断是不是数字,只能强制转换以下看看能不能成功了

如:
int i=0;
try{
p=Integer.parseInt(num);
i=1;
}
接下来你可以判断i是0还是1来判断是不是数字了
回复
发动态
发帖子
Web 开发
创建于2007-09-28

7.9w+

社区成员

Java Web 开发
申请成为版主
社区公告
暂无公告