~ 25 Aug 2009, 01:43
Понякога се чудя - аз ли не съм наред, или светът е много по-сложен и объркан, отколкото трябва да бъде?
Накратко:
1) Купувам си онлайн билет през сайта на Wizz Air. Имам акаунт там, тъй че почти няма какво да попълвам като информация за пътника;
2) Тук идва изненадата. На един от иначе така симпатичните формулярчета с данни, не ми дава да продължа напред - при натискане на Next бутончето, излиза JavaScript прозорче, което ми се кара, че не съм въвел валиден телефонен номер. По-странното е, че тяхната система ми е приела същия този телефонен номер предишния път;
3) След малко експериментация, откривам, че системата не приема нито номера от вида +35988... нито 0035988... Странно, нали? Отваряйки сорса на страницата и търсейки по съобщението за грешка, стигам до функцията checkPhoneNumber:
function checkPhoneNumber(num){
var filter = /^([0-9]){10,13}$/;
if (filter.test(num) || num == "")
return true;
else
return false;
}
4) Аха, ето го и ключовия regex. Гадовете искат номера с между 10 и 13 цифри! Кода на страната отива под ножа.
Като извод, човек идва да се запита - дали всеки юзър, когото Системата отреже, би си имал на идея, че зад шарения сайт на Wizz Air реално стои някакъв код, който е видим? И че "Системата" всъщност са няколко страници простичък код, написан на интерпретиран език? И че в този код, именно тази функция проверява писанията му? И че телефонът е валиден, ако е между 10 и 13 цифри? И по-общо - след като цялото нещо така или иначе идва от едно и също място, какво е пречило до въпросния textbox да има обяснение "(10-13 digits, please)"? И още по-общо - трябва ли обяснението на всеки проблем в сферата на IT да е толкова брутално сложен? Изобщо - защо светът е едно толкова сложно място?