|
|
|
| Есть два разных условие php кода:
$proverka = preg_replace("/ +/i", "", $_POST['probeg']); // Удаляем все пробелы
if (!preg_match("|^[\d]+$|",$proverka))
{
echo "<Script Language='JavaScript'>alert('Пробег автомобиля - только целое число, без букв и других знаков!');</Script>";
exit ("<br><span class = 'ohibka'>Пробег автомобиля - только целое число, без букв и других знаков!</span>");
}
|
if(!preg_match("/[0-9a-z_]+@[-0-9a-z_^\.]+\.[a-z]{2,6}/i",$e_mail)) //проверка е-mail адреса регулярными выражениями на корректность
{
echo "<Script Language='JavaScript'>alert('Ошибка в адресе электронной почты!');</Script>";
exit ("<br><span class = 'ohibka'>Необходимо устранить ошибку в адресе электронной почты!</span>");
}
|
Как сделать те же самые условия, но на стороне клиента в JS?
Чтобы затем эти условия применить в onChange="" полей формы.
Например: onChange="if (value.length<30) {alert ('Текст объявления должен быть не менее 30 символов!');}" | |
|
|
|
|
|
|
|
для: sega_z
(12.04.2012 в 13:28)
| | А я вам разве не показывал, как удалить пробелы? | |
|
|
|
|
|
|
|
для: confirm
(12.04.2012 в 13:32)
| | Ну да, прошу прощения:
s = s.replace(/\s/g, '');
|
Кстати я все сделал проще с проверкой длины поля:
onChange="if (value.length<30) {alert ('Текст объявления должен быть не менее 30 символов!');}"
Ну а как с регулярными выражениями? | |
|
|
|
|
|
|
|
для: sega_z
(12.04.2012 в 13:36)
| | Ну а с рег. выражениями еще проще.
onChange="if (value.length<30)... вот только где здесь обязательное упоминание отсутствия пробелов, о которых вы беспокоились ранее? | |
|
|
|
|
|
|
|
для: confirm
(12.04.2012 в 13:53)
| | А как сделать с помощью JS остановку PHP кода, типа exit() | |
|
|
|
|
|
|
|
для: sega_z
(12.04.2012 в 14:07)
| | Проверка E-mail работает:
onChange="if (!/[0-9a-z_]+@[-0-9a-z_^\.]+\.[a-z]{2,6}/i.test(value)) {alert ('Не верный формат E-mail адреса!');}"
|
А проверка написания только целых чисел не работает:
onChange="if (!|^[\d]+$|.test(value)) {alert ('Только целые числа!');}"
|
| |
|
|
|
|
|
|
|
для: sega_z
(12.04.2012 в 14:48)
| | Спасибо, теперь все работает:
onChange="if (!/^[\d]+$/i.test(value.replace(/\s/g, ''))) {alert ('Только целые числа!');}"
|
Ну а как насчет остановки PHP кода методами JS? | |
|
|
|
|
|
|
|
для: sega_z
(12.04.2012 в 16:04)
| | Вы думайте о том, чего говорите. Как можно остановить сценарий на сервере сценарием на клиенте? | |
|
|
|
|
|
|
|
для: sega_z
(12.04.2012 в 14:48)
| | Рег. выражения в JS заключать надо в //
Событие onChange происходит когда объект теряет фокус, а это может быть, если пользователь щелкнет далеко от тестируемого поля. Вам не кажется, что ваши сообщения при этом несколько теряют информативность? | |
|
|
|
|
|
|
|
для: confirm
(12.04.2012 в 16:04)
| | > если пользователь щелкнет далеко от тестируемого поля. Вам не кажется, что ваши сообщения при этом несколько теряют информативность?
Не совсем понял, как это далеко от тестируемого поля? | |
|
|
|
|
|
|
|
для: sega_z
(12.04.2012 в 16:07)
| | Трудно представить? ) Поле имя, к примеру, почти вверху страницы, а через N полей, ближе к ее низу еще поле (к примеру форма большая), и пользователь щелкает по нему (да собственно просто внизу окна). Можно ли понять сходу где там вам надо только целые числа? | |
|
|
|
|
|
|
|
для: confirm
(12.04.2012 в 16:11)
| | Теперь понял вас, это я предусмотрел!
Это только в примере я так написал, а на самом деле формы действительно большие и каждое сообщение подкреплено определенным названием своего поля. | |
|
|
|
|
|
|
|
для: sega_z
(12.04.2012 в 16:20)
| | Это уже речь мужа. )
И что вы выводите в качестве "названия"? Если тоже как в этой вашей теме, то это не есть гут, это полный швайн для пользователя. ) | |
|
|
|
|
|
|
|
для: confirm
(12.04.2012 в 16:23)
| | Нет этот код я уже не использую.
Например, поле указания года выпуска авто:
onChange="if (!/^[\d]+$/i.test(value.replace(/\s/g, ''))) {alert ('Год выпуска - только целое число, без букв и других знаков!');}" | |
|
|
|
|
|
|
|
для: sega_z
(12.04.2012 в 16:36)
| | Понятно. При большой форме не удобно. В плане редактирования, так как придется не забывать править все. Прописывать в теле каждого элемента формы кучу кода, тоже не очень. А есть такой элемент формы как LABEL. Но это на будущее, подумать.
А это прочесть обязательно, для закрепления. | |
|
|
|
|
|
|
|
для: confirm
(12.04.2012 в 16:47)
| | Спасибо вам, за помощь! | |
|
|
|