Привет: Гость

Гость, мы рады вас видеть. Пожалуйста зарегистрируйтесь!
Регистрация
Вход
Зарег. на сайте
Всего:
Новых за месяц:
Новых за неделю:
Новых вчера:
Новых сегодня:
Из них
Администраторов:
Модераторов:
Проверенных:
Обычных юзеров:
Забаненных юзеров:
Из них
Парней:
Девушек:

 

 

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Украшаем проверку сложности пароля.
nsk163Дата: Воскресенье, 08.02.2009, 13:45 | Сообщение # 1
Admin
Группа: Администраторы
Сообщений: 204
За 500 постов
Репутация: 5 []
Статус: Offline
Украшаем проверку сложности пароля.

1.Между <head></head> страницы регистрации

Code
<script src="http://jqueryjs.googlecode.com/files/jquery-1.2.6.min.js" type="text/javascript"></script>
             
       <script type="text/javascript">       
       $.fn.passwordStrength = function( options ){       
         return this.each(function(){       
         var that = this;that.opts = {};       
         that.opts = $.extend({}, $.fn.passwordStrength.defaults, options);       
                 
         that.div = $(that.opts.targetDiv);       
         that.defaultClass = that.div.attr('class');       
                 
         that.percents = (that.opts.classes.length) ? 100 / that.opts.classes.length : 100;       

         v = $(this)       
         .keyup(function(){       
         if( typeof el == "undefined" )       
         this.el = $(this);       
         var s = getPasswordStrength (this.value);       
         var p = this.percents;       
         var t = Math.floor( s / p );       
                 
         if( 100 <= s )       
         t = this.opts.classes.length - 1;       
                 
         this.div       
         .removeAttr('class')       
         .addClass( this.defaultClass )       
         .addClass( this.opts.classes[ t ] );       
                 
         })       
         .after('')       
         .next()       
         .click(function(){       
         $(this).prev().val ( randomPassword() ).trigger('keyup');       
         return false;       
         });       
         });       

         function getPasswordStrength(H){       
         var D=(H.length);       
         if(D>5){       
         D=5       
         }       
         var F=H.replace(/[0-9]/g,"");       
         var G=(H.length-F.length);       
         if(G>3){G=3}       
         var A=H.replace(/\W/g,"");       
         var C=(H.length-A.length);       
         if(C>3){C=3}       
         var B=H.replace(/[A-Z]/g,"");       
         var I=(H.length-B.length);       
         if(I>3){I=3}       
         var E=((D*10)-20)+(G*10)+(C*15)+(I*10);       
         if(E<0){E=0}       
         if(E>100){E=100}       
         return E       
         }       

         function randomPassword() {       
         var chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$_+";       
         var size = 10;       
         var i = 1;       
         var ret = ""       
         while ( i <= size ) {       
         $max = chars.length-1;       
         $num = Math.floor(Math.random()*$max);       
         $temp = chars.substr($num, 1);       
         ret += $temp;       
         i++;       
         }       
         return ret;       
         }       

       };       
                 
       $.fn.passwordStrength.defaults = {       
         classes : Array('is10','is20','is30','is40','is50','is60','is70','is80','is90','is100'),       
         targetDiv : '#passwordStrengthDiv',       
         cache : {}       
       }       
       $(document)       
       .ready(function(){       
         $('input[name="password"]').passwordStrength();       
         });       
       </script>

2. CSS
Code
.is0{background:url("http://kbh.mg.by/progressImg1.png") no-repeat 0 0;width:138px;height:7px;}       
       .is10{background-position:0 -7px;}       
       .is20{background-position:0 -14px;}       
       .is30{background-position:0 -21px;}       
       .is40{background-position:0 -28px;}       
       .is50{background-position:0 -35px;}       
       .is60{background-position:0 -42px;}       
       .is70{background-position:0 -49px;}       
       .is80{background-position:0 -56px;}       
       .is90{background-position:0 -63px;}       
       .is100{background-position:0 -70px;}

3.
Главная » Управление дизайном » Редактирование шаблонов - Форма регистрации пользователей
Заменяем (по умолчанию):

Code
  <?if($PASSWORD_FL$)?>       
       <tr id="siM45"><td class="manTd1" id="siM46">$PASSWORD_SIGN$</td><td class="manTd2" id="siM47">$PASSWORD_FL$</td>       
       </tr>       
       <?endif?>

На:
Code
<?if($PASSWORD_FL$)?>       
       <tr id="siM45"><td class="manTd1" id="siM46">$PASSWORD_SIGN$</td><td class="manTd2" id="siM47">$PASSWORD_FL$</td>       
       </tr><tr><td>Проверка безопасности: </td><td><div id="passwordStrengthDiv" class="is0"></div></td>       
       </tr>       
       <?endif?>

Автор: kydapodatsya
 
  • Страница 1 из 1
  • 1
Поиск:

Используются технологии uCoz