在今天的jQuery教程中,咱們將介紹如何使用jQuery和其它相關的插件來生成一個漂亮的帶有密碼強度檢驗的註冊頁面,但願你們喜歡!javascript
相關的插件和類庫
主要功能
- 註冊中包含一個密碼強度檢驗組件,用戶須要設置必定強度的密碼才能夠註冊
- 密碼強度使用儀表盤類庫justgage來顯示,不一樣的強度的密碼將顯示不一樣的顏色
- 密碼強度符合要求後,顯示註冊按鈕
代碼說明
HTML:html
- <div id="page-wrap">
- <div id="title">註冊新帳號 - gbtags.com</div>
- <p>
- <input type="text" name="email" id="email" placeholder="電子郵件"/>
- </p>
- <p>
- <input type="password" name="password" id="password" placeholder="輸入密碼"/>
- </p>
- <div id="complexity"></div>
- <p>
- <input type="button" name="submit" id="submit" value="註冊" />
- </p>
- <p id="msgbox"></p>
- </div>
添加電子郵件和密碼輸入框,及其密碼強度組件。java
Javascript:jquery
導入所需的類庫,包括:ajax
- <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
- <script src="js/jquery.complexify.js"></script>
- <script src="js/jquery.placeholder.min.js"></script>
- <script src="js/raphael.2.1.0.min.js"></script>
- <script src="js/justgage.1.0.1.min.js"></script>
如下爲生成儀表盤及其密碼強度代碼:api
- $(function(){
- $('#submit').attr('disabled', true);
- var g1 = new JustGage({
- id: "complexity",
- value: 0,
- min: 0,
- max: 100,
- title: "密碼強度提示",
- titleFontColor: '#9d7540',
- valueFontColor : '#CCCCCC',
- label: "points",
- levelColors: [
- "#dfa65a",
- "#926d3b",
- "#584224"
- ]
- });
- $('input[placeholder]').placeholder();
- $("#password").complexify({}, function(valid, complexity){
- if(valid){
- $('#submit').fadeIn();
- }else{
- $('#submit').fadeOut();
- }
- g1.refresh(Math.round(complexity));
- });
- $('#submit').click(function(){
- $('#msgbox').html('welcome to gbtags.com');
- });
- });
以上代碼中,咱們使用JustGage生成須要的儀表盤。相關選項請參考代碼。jsp
如下代碼中,咱們使用complexify的回調方法來判斷用戶輸入的密碼強度是否符合要求:google
- $("#password").complexify({}, function(valid, complexity){
- if(valid){
- $('#submit').fadeIn();
- }else{
- $('#submit').fadeOut();
- }
- g1.refresh(Math.round(complexity));
- });
若是符合則顯示註冊按鈕,不然隱藏。同時刷新儀表盤的數值和顏色。url
CSS代碼:spa
- body{
- background: url('../images/body.png');
- }
-
- #container{
- background: url('../images/bg.jpg');
- padding: 30px;
- margin-top: 150px;
- box-shadow: 0px 0px 30px #9d7540;
- border-radius: 5px 5px 0px 0px;
- }
-
- #page-wrap{
- margin: 0 auto;
- width: 310px;
- text-align: center;
- font-size: 14px;
- padding:0px;
- font-family: Arial;
- }
-
- P{
- margin: 20px 0;
- padding:0;
- }
-
- #title{
- width: 292px;
- margin: 20px 0;
- font-size: 14px;
- font-weight: normal;
- font-family: Arial;
- color: #a27942;
- text-align:left;
- border-left: 4px solid #6e522d;
- border-right: 6px solid #303030;
- border-radius: 5px;
- padding: 12px 5px;
- background: #303030;
- box-shadow: 0px 0px 10px #4f3b20;
- }
-
- #msgbox{
- color: #808080;
- }
-
- input{
- width: 300px;
- height: 40px;
- box-shadow: 0px 0px 10px #4f3b20;
- border-radius: 5px;
- font-size: 14px;
- font-weight: normal;
- margin:0;
- padding: 0 5px;
- border: 1px solid #606060;
- font-family: Arial;
- background: #303030;
- color: #CCC;
- }
-
- #complexity{
- width: 302px;
- padding: 5px 5px;
- font-size: 18px;
- font-weight: bold;
- margin: 0px;
- box-shadow: 0px 0px 10px #4f3b20;
- border-radius: 5px;
- color:#CCC;
- background: #303030;
- }
-
- #submit{
- display: none;
- width: 310px;
- }
-
- #gbin1{
- padding: 15px 0px;
- text-align: center;
- background: #101010;
- color: #909090;
- font-size:12px;
- font-family: Arial;
- border-radius: 0px 0px 5px 5px;
- box-shadow: 0px 0px 20px #4f3b20;
- }
-
- #gbin1 a{
- font-family: Arial;
- font-size:12px;
- color: #909090;
- text-shadow: 1px 1px 25px #fff;
- text-decoration: none;
- }
代碼書寫完畢,若是須要查看完整代碼,請下載演示。但願你們喜歡這個實現!若是你有任何意見和建議請給咱們留言,謝謝!