JavaScript « Валидация формы с помощью js
Как наилудшим и быстрейшим способом сделать валидацию формы.
Есть поле с именем и мылом, надо сделать чтобы они проверялись на то чтобы там содержалить только англ. буквы, ну а в мыле ещё чтобы оно было похоже на него, если не так, то выводилось бы сообщение.
Есть поле с именем и мылом, надо сделать чтобы они проверялись на то чтобы там содержалить только англ. буквы, ну а в мыле ещё чтобы оно было похоже на него, если не так, то выводилось бы сообщение.
1 ответов
Можно использовать validation плагины для популярных js фреймворков.
например под jQuery - http://jquery.bassistance.de/validate/demo/
или здесь
http://docs.jquery.com/Plugins/validation
Для prototype использовал эту когда то,
http://tetlaw.id.au/view/javascript/really-easy-field-validation
Уверен что есть подобные вещи и для чистого javascript.
Вот мой вариант на чистом JavaScript, всё тестировал сам.
Функция по валидации различных форм, какие не найдете, можно добавить самому.
Сделано на совесть.
function validate(field, type) {
var pp = '';
// Проверка логина
if(type == 'login'){
var pp = /^[a-zA-Z][a-zA-Z-\._]+[a-zA-Z0-9]$/;
}
// Только английские буквы
if(type == 'en'){
var pp = /^[a-zA-Z]*$/;
}
// Только русские буквы
else if(type == 'ru'){
var pp = /^[а-яА-Я]*$/;
}
// Англо-русские буквы
else if(type == 'enru'){
var pp = /^[a-zA-Zа-яА-Я]*$/;
}
// Англ. и цифры
else if(type == 'en123'){
var pp = /^[a-zA-Z0-9]*$/;
}
// !Более корректная форма проверки почты
else if(type == 'email'){
var pp = /^[a-zA-Z][-\._a-zA-Z0-9]+@(?:[a-zA-Z0-9][-a-zA-Z0-9]+\.)+[a-zA-Z]{2,6}$/;
}
// Цифры
else if(type == '123'){
var pp = /^[0-9]*$/;
}
//Ошибка если не указан параметр
else if(pp == ''){
return false;
}
// Присутствие значения в поле
if (field === ''){
return false;
}
//Проверка поля по выбранному типу
else if(!field.match(pp)){
return false;
}
return true;
}
Когда надо вызываете его validate(Что проверить, Тип проверки)
Вот и всё))
P.S. Создатель и основатель проекта StopHost.Ru
re1 = /^[a-zA-Z]*$/;
re2 = /^[-._a-z0-9]+@(?:[a-z0-9][-a-z0-9]+\.)+[a-z]{2,6}$/;
str1 = "abc3";
str2 = "fff@rrr.ru";
alert (str1.match(re1));
alert (str2.match(re2));