- 01
 - 02
 - 03
 - 04
 - 05
 - 06
 - 07
 - 08
 - 09
 - 10
 - 11
 - 12
 - 13
 - 14
 - 15
 - 16
 
                        $('.price_input', this.getDummy()).on('keydown', function (e) {
    if (e.keyCode == 13) {
        e.preventDefault();
    }
    var charCode = e.keyCode, char = e.originalEvent.keyIdentifier;
    if ((((charCode == 188) && (!char || char == 'U+002C')) || (charCode == 190) && (!char || char == 'U+002E')) && ($(this).val().indexOf('.') < 0) && ($(this).val().indexOf(',') < 0)) {
        return true;
    }
    if ((charCode >= 37 && charCode <= 40) || (charCode == 46) || (charCode == 8) || (charCode >= 48 && charCode <= 57) || (charCode >= 96 && charCode <= 105)) {
        return true;
    }
    e.preventDefault();
});
                                 
        
            Код ведущего front-end разработчика.
Это далеко не самый длинный if в проекте.
После месячного рефакторинга подобного шедевра я готов открыть компанию по сбору денег для программистов инвалидов.
        
        
Вместо использования словаря в проверке используются magic numbers.
Дважды используется $(this) только для получения value элемента и проверки его на запятую и точку, хотя можно было бы юзать регулярку.
В условие дважды встречается проверка наличия char.
И рас уж ребята подключили jquery, они могли бы использовать e.wich, вместо e. keyCode.
Я не знаю как у других, но мне кажется это не нормальной практикой
“I know, I'll use %SOME_TECHNOLOGY%.”
Now they have two problems. (c) Neosilator of %SOME_TECHNOLOGY%
Jamie Zawinski, безусловно, не осилил регексы.
И вообще он няша — у него есть великолепные афоризмы и набросы на кресты.
Лично я бы добавил сюда autotools, если make — проблема, то с autotools их станет две.
?
💩
http://postimg.org/image/qtu1yt8sv/
http://www.alanwood.net/unicode/miscellaneous-symbols-and-pictographs.html
Но только цвет почти нигде не работает. Даже Твиттор теперь заменяет эмодзи картинками, чтобы гарантировать одинаковое отображение на всех платформах.
http://postimg.org/image/qtu1yt8sv/