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

JavaScript015

想知道js中的判断是否是数字的函数?,第1张

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=0i<theNum.lengthi++){

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=0ilen<str.lengthilen++)

{

if(str.charAt(ilen) <'0' || str.charAt(ilen) >'9' )

{

if((str.charAt(ilen)!='-'))

return false

}

}

11return true

}

判断是否为浮点数:

view sourceprint?

function BASEisNotFloat(theFloat)

{

len=theFloat.length

dotNum=0

if (len==0)

return true

for(var i=0i<leni++){

oneNum=theFloat.substring(i,i+1)

if (oneNum==".")

dotNum++

11if ( ((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>

你怎么有这样的需求....

直接的方法做不到。

但是可以使用技巧性的东西。

我的思路如下:

假如你要判断一个DIV是否被hidden过,就在调用方法隐藏DIV的时候给DIV新增一个属性来标识该DIV有被隐藏过的操作。

下次操作该DIV的时候,就去取自定义的属性,如果有那就说明你曾经隐藏了该DIV。

PS: html标签可以随意添加自定义属性。

我给出例子吧。

<DIV id="div" eventType=""></DIV>

// js code

$("#div").click(function() {

var et = $(this).attr("eventType")

$(this).attr("eventType", et+'',1")// 先得到eventType值, 然后定义1为click操作。使用 + 可以记录其他的操作。你可以定义dbclick为2.那么eventType就可以为1,2.

if(et.indexOf("1") >0) {

alert("DIV被click过")

}

})