1.概述
在動態網站的用戶注冊頁面中,經常需要對用戶輸入的用戶名和密碼的位數及成員組成進行判斷,這樣可以規范用戶的注冊信息。例如本實例,要求用戶名由3-10位的字母、數字和下劃線組成,密碼由6-20位的字母、數字、下劃線和點“.”組成並且首字符為字母,這時就需要對用戶的輸入進行判斷,因此筆者編寫了兩個函數,分別用於驗證用戶輸入的用戶名和密碼是否合法。
2.技術要點
驗證用戶名是否由3-10位的字母、數字和下劃線組成的正則表達式如下:
/^(\w){3,10}$/
驗證密碼是否由6-20位的字母、數字、下劃線和點“.”組成的正則表達式如下:
/^[A-Za-z]{1}([A-Za-z0-9]|[._]){5,19}$/
3.具體實現代碼
(1)使用JavaScript編寫一個用於驗證用戶名是否合法的函數checkeusername (),該函數只有一個參數username,用於獲取輸入的用戶名,返回值為true或false。代碼如下:
<script language="javascript"> function checkeusername(username){ var str=username; //在JavaScript中,正則表達式只能使用"/"開頭和結束,不能使用雙引號 var Expression=/^(\w){3,10}$/; var objExp=new RegExp(Expression); //創建正則表達式對象 if(objExp.test(str)==true){ //通過正則表達式驗證 return true; }else{ return false; } } </script>
(2)使用JavaScript編寫一個用於驗證密碼是否合法的函數checkePWD(),該函數只有一個參數PWD,用於獲取輸入的密碼,返回值為true或false。代碼如下:
<script language="javascript"> function checkePWD(PWD){ var str=PWD; //在JavaScript中,正則表達式只能使用"/"開頭和結束,不能使用雙引號 var Expression=/^[A-Za-z]{1}([A-Za-z0-9]|[._]){5,19}$/; var objExp=new RegExp(Expression); //創建正則表達式對象 if(objExp.test(str)==true){ //通過正則表達式驗證 return true; }else{ return false; } } </script>
(3)調用checkeusername()函數和checkePWD()函數分別判斷用戶輸入的用戶名和密碼是否合法,如果不合法,將給予提示信息。關鍵代碼如下:
<script language="javascript"> function check(myform){ if(myform.username.value==""){ alert("請輸入用戶名!");myform.username.focus();return; } if(!checkeusername(myform.username.value)){ alert("您輸入的用戶名不合法!");myform.username.focus();return; } if(myform.PWD.value==""){ alert("請輸入密碼!");myform.PWD.focus();return; } if(!checkePWD(myform.PWD.value)){ alert("您輸入的密碼不合法!");myform.PWD.focus();return; } if(myform.PWD1.value==""){ alert("請確認密碼!");myform.PWD1.focus();return; } if(myform.PWD1.value!=myform.PWD.value){ alert("您兩次輸入的密碼不一致,請重新輸入!");myform.PWD.focus();return; } myform.submit(); } </script>
以上所述是小編給大家介紹的客戶端驗證用戶名和密碼的相關知識,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對網站的支持!