Среда, 29.01.2025, 03:49Приветствую Вас Гость
| Новости | Форум | Реклама на сайте | Файлы |
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Украшаем проверку сложности пароля
HeadShoTДата: Воскресенье, 26.04.2009, 09:56 | Сообщение # 1
Рядовой


Группа: Пользователи
Сообщений: 10
Награды: 0
Репутация: 0
Замечания:  ±
Украшаем проверку сложности пароля. Вроде неплохо получается...
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?>
 
$@NeKДата: Четверг, 29.10.2009, 22:16 | Сообщение # 2
Подполковник


Группа: Пользователи
Сообщений: 100
Награды: 2
Репутация: 0
Замечания:  ±
у мя не робит что то
 
  • Страница 1 из 1
  • 1
Поиск:


При копировании материалов с сайта источник на info-cs.net.ru обязателен Карта сайта