正则表达式方法判断是否为数字,包括判断正整数:
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过")
}
})