Javascript-форум (https://javascript.ru/forum/)
-   Учебные материалы (https://javascript.ru/forum/study/)
-   -   Вопрос по скрипту валидации (https://javascript.ru/forum/study/40301-vopros-po-skriptu-validacii.html)

Maelnor 31.07.2013 02:55

Вопрос по скрипту валидации
 
Нужно сделать валидацию эмейла. Нашел много готовых решений, но проблема в том, что мне нужно понять, а не просто сделать. Собственно вот:
function isValidEmailAddress(emailAddress) {
    var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
    return pattern.test(emailAddress);
    }


Объясните мне что значит вся эта катавасия после new RegExp. Ну тоестья понимаю, что там идет описание всего что может там быть, но кокой там синтаксис и что значит каждый пример понять не могу.

ksa 31.07.2013 09:12

Цитата:

Сообщение от Maelnor
но кокой там синтаксис и что значит каждый пример понять не могу

Читай
http://javascript.ru/RegExp
там есть табличка, где описывается назначение "символов"...

Tim 31.07.2013 13:04

А я наивно думал, что знаю самую длинную регулярку для мыла :)
var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/

по моему лучше просто
/\S+@\S+\.\S+/


Часовой пояс GMT +3, время: 15:28.