Паттерны

Правильные окончания числительных

Правильные окончания русского языка у разных групп чисел:1, 21, 31…;2, 3, 4,…22, 23, 24…;остальные. if (count == 1 || (count > 20 && ((count/10 - Math.round(count/10)).toFixed(1) == 0.1))) { count = "сертификат"; } else if (count > 1 && count < 5 || (count > 20 && ((count/10 - Math.round(count/10)).toFixed(1) > 0.1 && (count/10 - Math.round(count/10)).toFixed(1) < 0.5))) { count = "сертификата"; } else { count = "сертификатов"; }
Теги: 

Angular: конвертация строки в число

Директива для преобразования строки в число: .directive("convertToNumber", function() { return { require: "ngModel", link: function(scope, element, attrs, ngModel) { ngModel.$parsers.push(function(val) { return val != null ? parseInt(val, 10) : null; }); ngModel.$formatters.push(function(val) { return val != null ? "" + val : null; }); } }; });
Теги: 

Приведение случайного массива в порядок

Дан массив чисел. Порядок случайный, есть повторяющиеся числа. Нужно привести в сортированный вид без повторений.Решение: array = array.sort(); for (var i = 0; i < array.length; i++) { for (var j = i + 1; j < array.length;) { if (array[i] == array[j]) { array.splice(j, 1); } else { j++; } } }
Теги: 

Запрет ввода буквенных и специальных символов

$('input').on('keydown', function(event){ var x = event.keyCode; if ((event.keyCode > 64 && event.keyCode < 91) || (event.keyCode > 185 && event.keyCode < 193) || (event.keyCode > 218 && event.keyCode < 223) || (event.keyCode == 61) || (event.keyCode == 123) || (event.keyCode == 173) || (event.keyCode == 59) || (event.keyCode == 106) || (event.keyCode == 107) || (event.keyCode == 109) || (event.keyCode == 111)) return false; });
Теги: 

Кнопки “Поделиться” для соцсетей

Facebook: $('.fb-button').click(function(){ myWin = open("http://www.facebook.com/sharer.php?u=http://maksimslepov.ru", "displayWindow","width=520,height=300,left=400,top=300,status=no,toolbar=no,menubar=no"); return false; }); Twitter: $('.twitter-button').click(function(){ myWin = open("http://twitter.com/share?text=@webdesign&amp;url=http://maksimslepov.ru", "displayWindow","width=520,height=300,left=400,top=300,status=no,toolbar=no,menubar=no"); return false; }); Вконтакте: $('.vk-button').click(function(){ myWin = open("http://vkontakte.ru/share.php?url=http://maksimslepov.ru", "displayWindow","width=520,height=300,left=400,top=300,status=no,toolbar=no,menubar=no"); return false; });

Паттерн для валидации email

Валидация email. Допускаем, что в имя ящика содержит латинские буквы, цифры, точку, подчёркивание или дефис, имя хоста русскими или латинским буквами, цифрами или с дефисом, имя зоны русскими или латинскими, от 2 до 6 знаков var patt = /^[.a-z0-9_-]+@[а-яА-Яa-z0-9-]+\.[а-яА-Яa-zA-Z]{2,6}$/i;