想知道js中的判断是否是数字的函数?

如题所述

javaScript判断一个字符串中是否包括有数字和"-",在一些表单提交的地方,这是比较有用的常规判断,这里收集有几种不同的方法,包括普通的JS验证法、正则表达式法,另外还有判断是否为浮点数的js函数,在最后还将简要介绍下isNAN函数的使用方法和例子:
正则表达式方法判断是否为数字,包括判断正整数:
function checkRate(input)
{
var re = /^[0-9]+.?[0-9]*$/; //判断字符串是否为数字,//若判断正整数,则后边是:/^[1-9]+[0-9]*]*$/
if (!re.test(input.rate.value))
{
alert("请输入数字(例:0.02)");
input.rate.focus();
return false;
}
}
普通的JS函数方式:
function BASEisNotNum(theNum)
{
if (BASEtrim(theNum)=="")
return true;
for(var i=0;i<theNum.length;i++){
oneNum=theNum.substring(i,i+1);
if (oneNum<"0" || oneNum>"9")
return true;
}
return false;
11 }
判断是否是正数,也就是正整数:
function BASEisNotInt(theInt)
{
theInt=BASEtrim(theInt);
if ((theInt.length>1 && theInt.substring(0,1)=="0") || BASEisNotNum(theInt)){
return true;
}
return false;
}
判断字符串是是否是数字和其它符号组成,比如“-”:
function ismonth(str)
{
for(ilen=0;ilen<str.length;ilen++)
{
if(str.charAt(ilen) < '0' || str.charAt(ilen) > '9' )
{
if((str.charAt(ilen)!='-'))
return false;
}
}
11 return true;
}
判断是否为浮点数:
view sourceprint?
function BASEisNotFloat(theFloat)
{
len=theFloat.length;
dotNum=0;
if (len==0)
return true;
for(var i=0;i<len;i++){
oneNum=theFloat.substring(i,i+1);
if (oneNum==".")
dotNum++;
11 if ( ((oneNum<"0" || oneNum>"9") && oneNum!=".") || dotNum>1)
return true;
}
if (len>1 && theFloat.substring(0,1)=="0"){
if (theFloat.substring(1,2)!=".")
return true;
}
return false;
关于javascript的isNaN 函数:用法规则:isNaN(expression:Object) : Boolean。计算参数,如果值为 NaN(非数字),则返回 true。此函数可用于检查一个数学表达式是否成功地计算为一个数字。
可用性:Flash Player 5;ActionScript 1.0;参数expression:Object - 要计算的布尔值、变量或其它表达式。返回Boolean -布尔值。在提交表单中经常是这样用的:
<script>
if(isNaN(document.login.imgcode.value)){
alert('验证码不是数字!')
document.login.imgcode.focus();
return false;
}
</script>
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-09-16
你是要js判断还是限制输入?
你百度搜索一下:正则表达式,有很多这方面的说明:

//校验是否全由数字组成
function isDigit(s)
{
var patrn=/^[0-9]{1,20}$/;
if (!patrn.exec(s)) return false
return true
}
第2个回答  推荐于2017-09-10
if(isNaN(document.zxform.lxtel.value)){
alert("不是数字");
form1.number.focus();
return false;
}本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网