JavaScript: Проверка пароля на сложность

Задача: необходимо проверить пароль на сложность по критериям:

  •  есть маленькие буквы
  • есть большие буквы
  • есть специальные символы
  • пароль длиннее 7 символов

Ну в принципе подойдет чтото-вроде:

function PasswordValidTest(pass){
        var count = 0;    
        count += /[a-z]/.test(pass) ? 1 : 0; //есть маленькие буквы
        count += /[A-Z]/.test(pass) ? 1 : 0; //есть большие буквы
        count += /\d/.test(pass) ? 1 : 0;   
        count += /[^\w\d\s]/.test(pass) ? 1 : 0;
        (count>2 & !/[\s]+/.test(pass)) ? res=true:res=false;    
        if ((res==true)&&(pass.length<7)) res=false;
     return res;   
}

Ну и в нагрузку проверка Email:

function EmailValidTest(email){
 var re = /^[\w-\.]+@[\w-]+\.[a-z]{2,4}$/i;   
 return re.test(email);
};
function EmailValidRulesTest(email){
  validmails=['@mail.ru','@yandex.ru','@ya.ru','@list.ru','@inbox.ru','@gmail.com','@icloud.com','@bk.ru'];  
  re=false;  
  validmails.forEach(function(item, i, validmails){
    if (email.indexOf(item)!==-1) re=true;
  });   
  return re;
};

Установка капчи reCAPTCHA v2 на сайт без отправки формы

Технически задача выглядит так:  на клиенте пользователь нажимает галочку «Я не робот» (описание от Google), по нажатии какойто кнопки — проверяем деймтвитель но ли капча пройдена.

Html (клиент):

<script type="text/javascript">
              var onloadCallback = function() {
                grecaptcha.render('capcha_element', {
                  'sitekey' : 'ключ сайта',
                   hl : "ru"
                });
              };
</script>
<div class="border border-light p-5" id="RegistrationDiv">
    <p class="h4 mb-4 text-center">Регистрация</p>        
    <input type="email" name="RegisterFormEmail" id="RegisterFormEmail" class="form-control mb-4" placeholder="E-mail">    
    <input type="password" name="RegisterFormPassword" id="RegisterFormPassword" class="form-control" placeholder="Пароль" aria-describedby="RegisterFormPasswordHelpBlock">
    <small id="RegisterFormPasswordHelpBlock" class="form-text text-muted mb-4">Минимальная длина 8 симоволов</small>

    <div id="capcha_element"></div>    

    <button id="RegistrationStartButton" onclick="RegistrationStart()" class="btn btn-success my-4 btn-block">Зарегистрироваться</button>
</div>
<script src="https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit" async defer></script>
<script>
function GetCapchaData(){
if (typeof grecaptcha.getResponse=="function") {
return grecaptcha.getResponse(); 
} else {
return ""; 
};
}
function RegistrationStart(){ 
$.post("registration.php", {
capcha: GetCapchaData()
})
.done(function( data ) {
});
}
</script>



PHP (сервер)

<?php
        $res=GetResponseCapcha($capcha);
        if (isset($res->success)):
           if ($res->success==true):
                  // капча пройдена, чтото делаем дальше
               else:
		 // это робот - пишем ошибку
           endif;
        endif;

function GetResponseCapcha($capcha){
    $ch = curl_init("https://www.google.com/recaptcha/api/siteverify");                
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        $js["secret"]="секретный ключ сайта";
        $js["response"]=$capcha;
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $js);
        $res= json_decode(curl_exec($ch));    
   return $res;
}

Чтиво за последнее время

Взрослое:

Раздолбаи космоса. Евгений Лукин. Время от времени на земле пропадают люди. Они видят летающую тарелку, заходят в неё и больше никогда не возвращаются. А что же с ними случается на самом деле?

Низший 1-10.  Дем Михайлов. В мире произошла экологическая катастрова. Человечество закапсулировалось в огромных подземных бункерах. Но кажется что-то пошло не так было задумано. (10 сусликов из 10)

И пришел Снарк. Ирина Ростова. В мире одномоментно кончилось электричество. Похоже книга не дописана. В целом начало не плохое.

Детское:

Трое на острове. Виталий Губраев. Школьнику Боре попадает в руки волшебный платок. С этого момента и начинаются приключения. (+)

Крестоносец в джинсах. Теа Бекман. 16 летнию подросток попадает в мир средневековья прямо в гущу событий вокруг детского крестового похода.

1С: просмотр содержимого временных таблиц в отладчике

Часто при отладке хитромудрых конфигураций необходимо подсмотреть содержимое временных таблиц. Начиная с платформы 8.13 это можно посмотреть прямо в отладчике. Пусть например временные тблицы у нас находятся в переменной МенеджерВТ. Нажимаем Shift-F9,  вводим МенеджерВТ, нажимаем расчитать, проваливаемся в значение «Временные таблицы запроса» и видим названия временных таблиц:

Далее зная имена таблиц, можно получить содержимое каждой из них или по индексу или по имени:

МенеджерВТ.Таблицы[0].ПолучитьДанные().Выгрузить()

Указано неверное поле для ввода по строке: Наименование

Иногда в справочниках 1С, реквизит Наименование не нужен. Если длинну его поставить 0, то при сохранении конфигурации может выйти ошибка «Указано неверное поле для ввода по строке: Наименование».

Чтобы поправить — нужно зайти во вкладку «Поле ввода», и убрать «Наименование» из «Ввод по строке»

Жизнь замечательных грибов