xolnimda
@xolnimda

Что посоветуете для проверки форм?

Нужна проверка форм в стиле этого сайта.
Т.е. проверять правильность заполнения инпутов и т.д.
Желательно чтобы это было jquery с возможностью выбора или возможностью прикрутить для некоторых инпутов проверку через ajax.
Что есть проверенное, кроссбраузерное и безопасное?
На смартфонах так же должно работать (iphone,ipad,android,windows).
Адаптивная верстка и все такое...
  • Вопрос задан
  • 2279 просмотров
Пригласить эксперта
Ответы на вопрос 5
Taraflex
@Taraflex
Ищу работу. Контакты в профиле.
Ответ написан
Комментировать
miraage
@miraage
Старый прогер
Google дал им AngularJS, а они до сих пор пишут валидации на jQuery.
Ответ написан
Ranwise
@Ranwise
Ответ написан
Комментировать
Ответ написан
Комментировать
iusfof
@iusfof
Front-end developer
можно воспользоваться регулярными выражениями.

например проверка мыла

var k, l, m;

k = 'example@mail.ru';
l = 'test';
m = /^[A-z0-9]+[A-z0-9_.]+[A-z0-9]+@([A-z0-9]+[A-z0-9_.-]+[A-z0-9]+\.)+[A-z]{2,4}$/

m.test(k) => true
m.test(l) => false


само выражение
/^[A-z0-9]+[A-z0-9_.]+[A-z0-9]+@([A-z0-9]+[A-z0-9_.-]+[A-z0-9]+\.)+[A-z]{2,4}$/


/ - начало и конец регулярного выражения

^[A-z0-9]+[A-z0-9_.-]+[A-z0-9] - допускает любые символы из английского алфавита или цифры от 0 до 9, так же допускает '-' (минус), '_' (нижнее подчеркивание) и '.' (точку), если они не являются первыми или последними перед сиволом '@'.

@ - допускает символ '@'

[A-z0-9]+[A-z0-9_.-]+[A-z0-9]+\. - тоже самое что первая группа символов, но с точкой на конце

[A-z]{2,4} - для обозначения домена, допускает любые латинские символы в количестве от 2 до 4 символов.

$ - окончание выражения

таким образом проверка инпута будет примерно такая:

if (/^[A-z0-9]+[A-z0-9_.]+[A-z0-9]+@([A-z0-9]+[A-z0-9_.-]+[A-z0-9]+\.)+[A-z]{2,4}$/.test($('input').val())) {
	все хорошо
} else {
	все плохо
}


либо можно запихать выражение в переменную для удобства:
var k = /^[A-z0-9]+[A-z0-9_.]+[A-z0-9]+@([A-z0-9]+[A-z0-9_.-]+[A-z0-9]+\.)+[A-z]{2,4}$/;

if (k.test($('input').val())) {
	все хорошо
} else {
	все плохо
}


[A-z] - так же означает, что символы алфавита могут быть в верхнем регистре

подробнее тут

Хабр Регулярные выражения для валидации распространенны...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы