您的位置:首页 > 其它

检查字符串是否可运算的数字

2011-10-11 14:51 239 查看
在网上查到有两种辨别字符串是否为数字的方法:

1.function checkInput()

{

var inputValue= document.getElementById("inputValue").value;

var patrn=/^\d*$/; //JS中关于数字的正则

if(!patrn.test(inputValue))//判断输入是否是数字

{

alert("请正确输入,只能为数字!");

return false;

}

return true;

}

2.JS自带的isNaN()方法

但是如果要检查字符串是否为能运算的数字时,两种方法都有一定的缺点:

方法1是运用正则表达式判断,虽然能判断是否为数字,但是对于负数,小数则无法判断;

方法2是JS自带的一个判断是否为数字的方法,能判断负数,小数,但是对特定的数字如"5-3","9-1",仍然判断为数字;

所以我结合两种方法的特点写下如下方法来判断符串是否为数字的:

//check num

function checknum(str){

var re=/^\d*$/;

if(!re.test(str)){

if(str.substring(0,1)=="-"){

var temp = String(str).substring(1);

if(!re.test(temp)){

if(isNaN(str)){

return "内容必须是数字,请重新输入\n";

}else{

return "";

}

}else{

return "";

}

}else{

if(isNaN(str)){

return "内容必须是数字,请重新输入\n";

}else{

return "";

}

}

}else{

return "";

}

}

如有不对,请多提点.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: