前言
本文主要介紹的是利用JS判斷字符串是否含有數字與特殊字符的方法,文中有幾種不同的方法,包括普通的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; }
三、判斷是否是正數,也就是正整數:
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; } } return true; }
五、判斷是否為浮點數:
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;
關於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>
總結
以上就是利用JS判斷字符串中是否含有數字和特殊字符的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。