Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.05.2012, 12:05
Новичок на форуме
Отправить личное сообщение для daniilino Посмотреть профиль Найти все сообщения от daniilino
 
Регистрация: 14.05.2012
Сообщений: 2

Как проверить корректность поля e-mail?
Всем доброго времени суток. Есть у меня поле <input type="text">, которое предназначено для введения e-mail адресса. Я знаю, как проверить его с помощью РНР, но не хочу, чтобы пользователь ждал и хочу сделать проверку JAVASCRIPTом, в котором вобще ничего не понимаю . Осуществил проверку на наличие @ и точки. Но как проконтролировать наличие только английских символов??? Как ни введу [a-z] - не работает
Вот код:
if (document.forma.email.value.indexOf('.', 0) == -1 || document.forma.email.value.indexOf('@', 0) == -1) {

document.getElementById('emailtips').innerHTML = '<div class="ftip">Некорректный E-Mail!</div>';}

Ну и HTML:
<input type="text" name="email" maxlength="100"><span id="emailtips"></span>
Ответить с цитированием
  #2 (permalink)  
Старый 15.05.2012, 12:20
Профессор
Отправить личное сообщение для bot87 Посмотреть профиль Найти все сообщения от bot87
 
Регистрация: 16.05.2011
Сообщений: 307

в интернете полно регулярок на js для проверки корректности адреса .
reg=/[^a-z,@,\.]/gi позволяет вводить только анг.буквЫ,симол . и @.Но для валидации не годится
__________________
Я только учусь.Ногами просьба не бить

Последний раз редактировалось bot87, 15.05.2012 в 12:34.
Ответить с цитированием
  #3 (permalink)  
Старый 15.05.2012, 12:28
Аватар для GuardCat
Просто любитель
Отправить личное сообщение для GuardCat Посмотреть профиль Найти все сообщения от GuardCat
 
Регистрация: 13.09.2011
Сообщений: 300

var r = /^\w+@\w+\.\w{2,4}$/i;
if (!r.test(document.forma.email.value) {
	//Код, если неверный e-mail
}

Описание регулярного выражения: начало строки, английские буквы от одной до бесконечности, собака, опять буквы от одной до бесконечности, точка, буквы от двух до четырёх (если почта где-нибудь на .info), конец строки. Регистр букв не учитывается.

Последний раз редактировалось GuardCat, 15.05.2012 в 12:30.
Ответить с цитированием
  #4 (permalink)  
Старый 15.05.2012, 12:38
Аватар для Раед
''
Отправить личное сообщение для Раед Посмотреть профиль Найти все сообщения от Раед
 
Регистрация: 11.12.2011
Сообщений: 636

http://learn.javascript.ru/regexp-introduction
Там есть хороший рег для поиска мейлов
Ответить с цитированием
  #5 (permalink)  
Старый 15.05.2012, 12:53
Аватар для GuardCat
Просто любитель
Отправить личное сообщение для GuardCat Посмотреть профиль Найти все сообщения от GuardCat
 
Регистрация: 13.09.2011
Сообщений: 300

Раед, да, многого я не учёл
Ответить с цитированием
  #6 (permalink)  
Старый 15.05.2012, 12:55
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

daniilino,
проверяйте просто наличие @, всё равно правильность адреса регуляркой не проверить, он может не существовать.

GuardCat,
вот такие вот решения и портят карму разработчику, потому что пользователь потом не может ввести свой email. До собаки могут быть ещё, как минимум, точка, минус и плюс.
Ответить с цитированием
  #7 (permalink)  
Старый 15.05.2012, 13:00
Аватар для GuardCat
Просто любитель
Отправить личное сообщение для GuardCat Посмотреть профиль Найти все сообщения от GuardCat
 
Регистрация: 13.09.2011
Сообщений: 300

Kolyaj, да-да, я это понял уже.
var r = /^[\w\.\d-_]+@[\w\.\d-_]+\.\w{2,4}$/i;

Вот так учтены разрешённые символы.

Последний раз редактировалось GuardCat, 15.05.2012 в 13:08.
Ответить с цитированием
  #8 (permalink)  
Старый 15.05.2012, 13:12
Профессор
Отправить личное сообщение для zebra Посмотреть профиль Найти все сообщения от zebra
 
Регистрация: 14.09.2011
Сообщений: 523

input type="email"
Ответить с цитированием
  #9 (permalink)  
Старый 15.05.2012, 13:17
Аватар для Раед
''
Отправить личное сообщение для Раед Посмотреть профиль Найти все сообщения от Раед
 
Регистрация: 11.12.2011
Сообщений: 636

Сообщение от zebra
input type="email"
- Safari
- IE
- FF<4
- Opera<10.60
+ остальное
Ответить с цитированием
  #10 (permalink)  
Старый 15.05.2012, 16:50
Новичок на форуме
Отправить личное сообщение для daniilino Посмотреть профиль Найти все сообщения от daniilino
 
Регистрация: 14.05.2012
Сообщений: 2

ВСем спасибо проблему решил
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать, чтобы русские буквы не вводились в определенные поля формы? yachainik Общие вопросы Javascript 6 13.02.2017 16:43
Как проверить загружены ли все картинки браузером Aderba jQuery 13 29.05.2014 14:18
Как проверить присутствует ли на странице заданный объект? nick Общие вопросы Javascript 7 18.12.2010 19:16
Как проверить существование функции Aderba Общие вопросы Javascript 2 14.11.2008 16:09
как проверить поддеружет браузер определенное событие? GOll Элементы интерфейса 9 24.07.2008 14:40