客戶端驗證優勢:javascript
•當用戶輸入錯誤數據時,頁面不須要從新加載,能夠保持用戶輸入的數據狀態,因此不要再一次輸入全部數據,只輸入錯誤數據便可。html
•減輕了服務器端通訊壓力java
•使得用戶界面響應更加迅速數組
缺點:安全
•JavaScript不能做爲惟一的驗證方法(JavaScript可能不可用,甚至可能被故意關閉以阻止進行驗證)。服務器
•這可能會產生這樣一個錯覺,驗證輸入數據是很是簡單的過程。其實不是這樣,並且它對產品的安全性和可用性都是很是關鍵的。spa
字符串經常使用方法:code
•charAt(n) :返回字符串中第n個位置的字符,從0開始。orm
•charCodeAt(n) :返回字符串中第n個位置字符的ASCII值,第一個位置爲0。htm
•indexOf(search) :返回search在主字符串中的位置,若是沒有則返回-1。
•lastIndexOf(search) :返回search在主字符串中的最後位置,沒有則返回-1。
•slice(start, end) :返回start和end之間的字符串,若是沒有提供end則返回從start開始全部的字符串。
•split(search) :將字符串分割成數組,數組元素爲search周圍的字符串,search自己不包含在數組中。
•substr(start, n) :將從start開始的n個字符做爲字符串返回。
•substring(start, end) :返回start和end之間的字符串。
數字驗證:
•Number() :將括號內的值轉換爲數字。
•isNaN(n) :檢驗n是否爲數字(整數或者浮點型)。
•parseInt() :將字符串轉換爲整數(只轉換從左側第一位開始的數字值,非數字值不作轉換,若第一位既爲非數字值,返回NaN)。
•parsetFloat() :將字符串轉換爲浮點數(轉換方式與parseInt相似)。
練習:使用字符串經常使用方法驗證一個字符串是否爲郵件格式。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script type="text/javascript"> function check(){ var mail=document.getElementById('email').value; if(mail == '' || mail == null){ alert('不能爲空'); return false; } if(mail.indexOf('@') != -1 && mail.substr(0,1) == '@' || mail.indexOf('@') != mail.lastIndexOf('@')){ alert('@不對'); return false; } if(mail.indexOf('.') == -1 || mail.indexOf('.') == mail.length-1 || mail.indexOf('.') <= mail.indexOf('@')+1 || mail.lastIndexOf('.') == mail.length-1){ alert('.不對'); return false; } return true; } </script> </head> <body> <form action=""> <input type="text" name="youjian" id="email"> <input type="submit" onclick=" return check()"> </form> </body> </html>