Safari не справляется с regexp'ами при проверке e-mail-адресов

Казалось бы, проблема проверки корректности заполнения поля с адресом электронной почты в форме браузера описана в Интернете 100500 раз. В синтаксесе GWT решение может выглядеть так:

private final static String EMAIL_VALIDATION_REGEX    = "[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?";

 public static boolean validateEmail(String email) {
  return email.matches(EMAIL_VALIDATION_REGEX); 
 } 


Казалось бы, в чем подвох? Да ни в чем, все браузеры, включая допотопный IE6, справляются с этой процедурой успешно. И Safari справляется, но только… в версии для Windows. А вот Safari, входящий в состав iPad, обрабатывает регулярное выражение некорректно и отбраковывает вполне адекватные e-mail'ы. Можно было бы, конечно, выбрать регэксп попроще, благо в Интернете вариантов немеряно, вплоть до

/\S@\S/.test(email)


да вот только где гарантия, что простое выражение окажется яблочному браузеру «по зубам»? Ведь в процессе гугления выяснилось, что с проблемой обработки regexp'ов в Safari столкнулся не только я. Так что пришлось излагать валидацию e-mail другими словами:


 public static boolean validateEmail(String email) {
  int at  = email.indexOf('@'); 	 
  int dot = email.lastIndexOf('.'); 	 
  int spc = email.indexOf(' '); 	 
  return at > 1 && dot > at && spc < 0;	 
 } 


От опечаток вполне убережет. Но «война браузеров» задолбала .

Книги по офтальмологии (на английском языке) 4

Выкладывю небольшую подборку свежих книг. Объем — 1,3 Гб. Все скачано с basmala.co.cc, но там файлы выложены на различных файлообменниках, замучался качать. Поэтому выкладываю одним торрентом.

Download torrent / Скачать торрент

Cataract Surgery.chm
Clinical Skills for the Ophthalmic Examination Basic Procedures.pdf
Color Atlas of Gonioscopy.pdf
Cornea 2 Volume Set.chm
Corneal Endothelial Transplant (DSAEK, DMEK & DLEK) .pdf
Current Opinion in Ophthalmology march 2012.pdf
Focal Points 2009.pdf
Focal Points 2010.pdf
Glaucoma Surgery P. Bettin.pdf
Irregular Astigmatism Diagnosis and Treatment.chm
Manual for Eye Examination and Diagnosis.pdf
Manual of Contact Lens Prescribing and Fitting.pdf
Manual of Practical Cataract Surgery.pdf
Ocular Applications of the Fugo Blade.chm
Ocular Periphery and Disorders.pdf
Ophthalmic Lenses.pdf
Ophthalmology — Review Manual — 2nd Edition.pdf
Quick Guide to the Management of Keratoconus.pdf
Step by Step Minimally Invasive Glaucoma Surgery.pdf
Step by Step Reading Pentacam Topography.pdf
Tear Film.pdf
Techniques in Ophthalmology sep2011.pdf
The Retina and its Disorders.pdf
The Retinal Atlas Expert Consult — Online and Print.chm
The Sclera — Maite Sainz de La Maza.pdf
Visual Fields.pdf
Wills Eye Institute 5 Minute Ophthalmology Consult.pdf


Далее обложки большинства книг и журналов, чтобы быстро сориентироваться, некоторые обложки могут быть неприятны неподготовленным людям, я предупредил.



( Читать дальше )

Древний Египет 3D

Ширится круг проектов, ставящих своей задачей воспроизвести древнюю историю компьютерными средствами. Недавно в их число вошел еще один:

Группа специалистов из Гарвардского университета, Музея изобразительного искусства в Бостоне, а также французской компании Dassault Systemes создали новый проект Giza 3D. Теперь благодаря ему все желающие смогут больше узнать о комплексе пирамид в Гизе, а также совершить по нему виртуальную экскурсию.



Подробности на русском здесь. Посмотреть можно здесь. Интересно реализована динамика: рассматривание объекта осуществляется вертикальной полосой прокрутки браузера.

AwesomeSUSE!

Нашел неплохую сборку OpenSUSE 12.1 без GNOME, а с оконным менеджером Awesome:

susestudio.com/a/gN6yPG/awesomesuse

Т.к. переходить на новый SUSE придется мне рано или поздно, почему бы не отказаться от GNOME вообще?

Упражнение для начинающих админов

Предлагаю простую задачу для проверки знаний основ IP-протокола. Имеется два физических хоста, соединенных в простейшую сеть. Внутри каждого поднято две виртуальных машины.



Каждый виртуальный компьютер соединен с реальным также в простейшую сеть (для наглядности на второй схеме виртуальные хосты вынесены за рамки реальных).



На всех реальных и виртуальных хостах запущены веб-серверы и имеются браузеры. Операционная система на реальных хостах — Linux, на виртуальных — любая с поддержкой IP-протокола (Linux, Windows, MacOS и т.д.). Требуется настроить сеть так, чтобы с любого хоста был виден любой другой.

How Linux is Built



Неплохое видео (правда на английском языке) про то, как организована разработка ядра linux. Довольно наглядно. Не думал, что по 6 патчей в ядро добавляется каждый час.

Sheetster: редактируем excel таблицы онлайн

Есть такой проект — Sheetster. Представляет собой сервер для редактирования xls файлов и встраивания этого всего дела не веб-страницы. Есть Community Edition версия, которая правда не поддерживает xlsx. Есть даже zimlet для Zimbra.

CW Micro Transceiver. Телеграфный микротрансивер. Продолжение.

Наступающему «Дню Радио» посвящается.
Начало смотри:
www.mtaalamu.ru/blog/869.html
Напомню, что за основу для своей схемы — я взял схему «Micro-80» Олега Бородина.



( Читать дальше )