這樣的check以前已經碰到很多了,但每次都是解決了就完了,沒有記錄下來,等下次碰到時又要花很多的時間去寫。東西是需要積累的,現在特記錄下來,希望這樣的工作不再重復太多,也與大家一起分享。
復制代碼 代碼如下:
<!---
================================================================================
機能概要 :check指定字符串是否為有效數字
作成者 :Peter Jin
作成日 :2010-04-23
================================================================================
--->
<cfoutput>
<script type="text/javascript">
<!--
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;
}
function BASEisNotInt(theInt)
{
//判斷是否為整數
theInt=BASEtrim(theInt);
if ((theInt.length>1 && theInt.substring(0,1)=="0") || BASEisNotNum(theInt)){
return true;
}
return false;
}
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++;
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;
}
function BASEtrim(str)
{
//去掉空格
lIdx=0;rIdx=str.length;
if (BASEtrim.arguments.length==2)
act=BASEtrim.arguments[1].toLowerCase();
else
act="all";
for(var i=0;i<str.length;i++){
thelStr=str.substring(lIdx,lIdx+1);
therStr=str.substring(rIdx,rIdx-1);
if ((act=="all" || act=="left") && thelStr==" "){
lIdx++;
}
if ((act=="all" || act=="right") && therStr==" "){
rIdx--;
}
}
str=str.slice(lIdx,rIdx);
return str;
}
// -->
</script>
</cfoutput>