Programování

Všechno okolo zdrojových kódů a skriptů.

Neděle, 27. leden 2008

Regulární výraz - MySQL TIMESTAMP

Tímhle článkem bych rád započal svou občasnou knihovnu regulárních výrazů, i když vím že podobné projekty se už nějaký ten pátek po internetu válejí.

Na úvod jsem si šetřil časovou známku. Výraz propustí téměř všechny platné formáty, kterými lze v MySQL nastavovat sloupec TIMESTAMP. Kromě formátu kontroluje také platost data a času, a věřte nebo ne, poradí si i s přestupnými roky. Možná proto je tak nevkusně dlouhý. Zadané datum a čas mohou být v rozmezí 1970-01-01 00:00:002037-12-31 23:59:59. Výraz pečlivě zkontrolován cyklem v celém rozsahu :-)

Regexp

/^((((19)?[7-9][0-9]|(20)?([0-2][0-9]|3[0-7]))[[:punct:]]+(0?2[[:punct:]]+(0?[1-9]|1[0-9]|2[0-8])|
(0?[469]|11)[[:punct:]]+(0?[1-9]|[12][0-9]|30)|(0?[13578]|10|12)[[:punct:]]+(0?[1-9]|[12][0-9]|3[01])))|
((19)?(8[048]|[79][26])|(20)?([02][048]|[13][26]))[[:punct:]]+0?2[[:punct:]]+29)([[:punct:]\s]+([01]?[0-9]|2[0-3])
([[:punct:]]+([0-5]?[0-9])([[:punct:]]+([0-5]?[0-9]))?)?)?$/

Souhlasí

1970-01-21
2037-3#24  16&39
08-3-24 16:39:42
2008?03+24@!_16%39?42

Nesouhlasí

200803-24-16-39-42
20080324163942


Neděle, 19. srpen 2007

Překlad odkazů v prohlížečích

Která spojení lze v obci internetové prohlásit za profláknutější, než hypertextové odkazy, linky, URL, URI. Říkejme jim jak chceme. Odkazy jsou zkrátka veskrze běžná věc, přesto v ní ale prohlížeče nejsou tak docela zajedno. Třeba prachobyčejný prázdný odkaz. Jak ho browser pochopí? Co myslíte, skočí na index adresáře nebo zůstane na aktuálním dokumentu? A co ?řetězec_dotazu a #fragment, zůstanou či zmizí?

A tak vznikla tabulka, která experimentálně naznačuje pravidla, jimiž se takový převod řídí. Jak se můžeme přesvědčit, třeba právě takový prázdný odkaz je chápán naprosto odlišně.


Úterý, 1. květen 2007

Ověření a generování čísla kreditní karty

Jednoduchá utilitka ke kontrole či generování čísla kreditky. Generovaná čísla jsou pouze pseudo-validní, protože identifikátor vydavatele vzniká základě pevného prefixu a náhodného doplňku. Nástroj je postaven na principu Luhnova (mod 10) kontrolního součtu, který je na kreditních kartách používán. Generovaná čísla jsou pro tuto kontrolu validní.

Ověřit

Generovat


Úterý, 20. únor 2007

PHP operátory: == vs. ===

V delších cyklech (např. zpracování řetězců bajt po bajtu) se vyplatí používat místo operátorů == a != raději === a !==. Možná vás jejich rychlost příjemně překvapí.


Středa, 15. listopad 2006

AsmStats – When Even Toes are Not Enough

I have developed quite useful form-based tool AsmStats for the Assembler code analysis. The only instruction sets available in this moment are Intel 8051 and Atmel AVR.


Neděle, 28. květen 2006

Odeslání formuláře enterem

Pokud v IE6 odešleme pomocí enteru formulář obsahující pojmenované submit tlačítko, pak, narozdíl od Firefoxu, není toto tlačítko zahrnuto do odeslaných dat.


Neděle, 14. květen 2006

JavaScript – kouzelné a rezervované slůvko class

IE hlásí Byl očekáván objekt. Čísle řádku se nedá věřit, chyba může být kdekoli. Firefoxová JavaScript Console nenašla žádnou chybu. Úžasná hra „Hádej, kterýpak objekt tady čekám” začíná.

Kdo vyhrál?

No uživatel přece. Nepoužívejte vlastnost class pro nastavení třídy elementu – je to rezervované slovo. Místo toho je třeba použít className.


Pondělí, 1. srpen 2005

Moje zkušenost s WYSIWYG aplikacemi

To jsem tak vzpomínal na začátky s MS FrontPage a napadlo mě přirovnání.

WYSIWYG

Kdo ten akronym nezná, nepochopí.


Rubriky

Navigace

Hledání