Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.06.2018, 06:22   #1
AlexPebody
 
Регистрация: 29.06.2018
Сообщений: 8
Вопрос Форма проверки Email исключение?

Доброго времени.

Если может кто, подскажите пожалуйста, никак не могу въехать, есть форма проверки Email адреса, с подсветкой и выведением сообщений:

Код:
$(document).ready(function() {
$('#email').blur(function() {
if($(this).val() != '') {
var pattern = /^([a-z0-9_\.-])+@[a-z0-9-]+\.([a-z]{2,4}\.)?[a-z]{2,4}$/i;
if(pattern.test($(this).val())){
$(this).css({'border' : '2px solid #81fc87'});
$('#valid').text('');
} else {
$(this).css({'border' : '2px solid #ff0000'});
$('#valid').text(''); alert('Вы ввели неверный \"email\", такого адреса нет!\r\nПожалуйста проверьте и введите верный адрес.');
}} else {
$(this).css({'border' : '2px solid #ff0000'});
$('#valid').text(''); alert('Вы не ввели адрес \"email\", не хотите отправлять?\r\nТогда проигнорируйте это сообщение и нажмите ОК.');
Нужно сделать исключение, чтобы при вводе в поле слов: save или русского: сохранить, не выполнялась проверка в паттерне, те чтобы скрипт пропускал это как нормально введенный Email. Как это сделать? В паттерне: var pattern = /^([a-z0-9_\.-])+@[a-z0-9-]+\.([a-z]{2,4}\.)?[a-z]{2,4}$/i; пытался подставить через || никак не вышло.

Заранее СПАСИБО!
AlexPebody вне форума Ответить с цитированием
Старый 29.06.2018, 08:26   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от AlexPebody Посмотреть сообщение
Код:
if(pattern.test($(this).val())){
// если на любом регистре (Save SAVE save Сохранить СоХраНиТь), то
Код:
if(pattern.test($(this).val()) || ($(this).val().toUpperCase() == 'SAVE') || ($(this).val().toUpperCase() == 'СОХРАНИТЬ')   ){
или просто
Код:
if(pattern.test($(this).val()) || ($(this).val() == 'save') || ($(this).val() == 'сохранить')   ){
Serge_Bliznykov вне форума Ответить с цитированием
Старый 29.06.2018, 08:51   #3
AlexPebody
 
Регистрация: 29.06.2018
Сообщений: 8
По умолчанию

Большое спасибо!

Сделал вот так: var pattern = /^([a-zа-я0-9_\.\+-])+@[a-zа-я0-9-]+\.([a-zа-я0-9-]{2,}\.)?[a-zа-я0-9-]{2,}$|^save$|^Save$|^SAVE$|^сохрани ть|^Сохранить|^СОХРАНИТЬ$/i;

А как на PHP сделать то же самое? Переносил, пробовал добавить русские а-яё, пролазил пачку форумов, толку 0,
не пропускает вот такой емайл например:

mail@васяпупкин.рф

Как победить? Хотя на JS из выражения выше, рисует зеленым (проверка email) и все ок, а в php сейчас стоит вот так и ничего не работает: if (!preg_match('~^([a-zа-яё0-9_\-\.])+@([a-zа-яё0-9_\-\.])+\.([a-zа-яё0-9])+$~i', $_POST['code']))

Последний раз редактировалось AlexPebody; 29.06.2018 в 09:27.
AlexPebody вне форума Ответить с цитированием
Старый 29.06.2018, 09:47   #4
AlexPebody
 
Регистрация: 29.06.2018
Сообщений: 8
По умолчанию

Вот так заработало на PHP: preg_match('~^([a-zA-Zа-яА-Я0-9_\-\.])+@([a-zA-Zа-яА-Я0-9_\-\.])+\.([a-zA-Zа-яА-Я0-9])+$~ui

Есть что то добавить?
AlexPebody вне форума Ответить с цитированием
Старый 29.06.2018, 10:04   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

букву Ё потеряли.
(впрочем, я не знаю, допустима ли она в кириллических именах).

добавлено
ага. проверил. допустима. (см. ёлка.рф)

Цитата:
Какие символы и какое количество символов допустимо для доменных имен .рф?
Доменное имя в домене .РФ должно состоять из собственного обозначения, уникального в пределах домена верхнего уровня, и символов ".РФ".

Собственное обозначение должно отвечать следующим техническим требованиям:

содержать не менее двух символов,
содержать такое количество символов, чтобы представление обозначения cpr144449003101 в кодировке Punycode содержало не более 63 символов;
начинаться и заканчиваться буквой или цифрой;
не содержать символов, отличных от букв, цифр и дефиса (допустимыми буквами являются буквы русского алфавита, включая букву «ё»; прописные и строчные буквы не различаются).

Последний раз редактировалось Serge_Bliznykov; 29.06.2018 в 10:08.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 29.06.2018, 10:05   #6
AlexPebody
 
Регистрация: 29.06.2018
Сообщений: 8
По умолчанию

Понял спс! 8-)
AlexPebody вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Форма доходит до адресата, но нужно заменить email на телефон. shavedcat PHP 0 14.09.2014 19:41
Explorer.exe Исключение неизвестное программное исключение Windows XP, что делать? Igorilla Windows 6 02.04.2013 22:49
Исключение неизвестное программное исключение... Host-2013 Паскаль, Turbo Pascal, PascalABC.NET 19 09.02.2013 21:30
Исключение из проверки по Enabled...? kta87 Общие вопросы Delphi 16 06.02.2012 17:49
ПЕрвая форма, кликая по кнопке, другая форма Nadej C++ Builder 0 02.10.2011 17:58