Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » JavaScript: Проверка значений элементов формы (e-mail, имя..

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14

Открыть новую тему     Написать ответ в эту тему

Kaii

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, кто знает, как сделать JavaScript'ом проверку формы на заполнение имени и сообщения и валидности мейла?

Общая информация о регулярных выражениях в Javascript:
http://www.johnrobertmorris.com/dev/Regex.asp
http://www.evolt.org/article/Regular_Expressions_in_JavaScript/17/36435/

Инструментарий для проверки регулярных выражений:
http://www.cuneytyilmaz.com/prog/jrx/
 





Переименовал. — Svarga.

Всего записей: 35 | Зарегистр. 15-11-2002 | Отправлено: 20:05 16-11-2002 | Исправлено: Cheery, 00:39 05-10-2006
mDCRM



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
хм... там кроме этого ничего не должно быть, просто из всего текста выборка текста  <texst43436dfsaghkjdsg1234#456#.....aagdslk
И всё то что нашёл записываем в переменную... и собственно если ничего не нашёл то alert()

Всего записей: 70 | Зарегистр. 16-11-2006 | Отправлено: 05:11 09-02-2008 | Исправлено: mDCRM, 05:13 09-02-2008
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mDCRM
ну посмотрели бы документацию из шапки.. что то такое

Код:
var str='<texst43436dfsaghkjdsg1234#456#'
var matches=str.match(/\d+#/g)
if(!matches) alert('not found')

ну а если {1,5}, то заменить + как раз на это

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 05:26 09-02-2008 | Исправлено: Cheery, 05:27 09-02-2008
XPOMOB

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Привет.
 
У меня тут проблемка возникла, надеюсь вы поможете мне её решить :)
 
 
Короче, есть форма, примерно вот такая:
 
<FORM action="http://somesite.com/same.php" method="get">
    <INPUT type="checkbox" name="themes" value="01"> 01<BR>
    <INPUT type="checkbox" name="themes" value="02"> 02<BR>
    <INPUT type="checkbox" name="themes" value="03"> 03<BR>
    <INPUT type="checkbox" name="themes" value="04"> 04<BR>
</FORM>
 
количество <INPUT type="checkbox" name="themes" value="04"> 04<BR> будет разное и будет автоматически генерироватся php.
 
 
на выходе нужно получить ?themes=02,04,10,15,20 - к примеру.
 
в виде в котором форма представлена здесь, ничего не получается - получается ?themes=02&themes=04 и потом обрабатывается только последнее значение.
 
 
 
 

Всего записей: 5 | Зарегистр. 19-02-2008 | Отправлено: 20:09 19-02-2008
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
XPOMOB

Цитата:
name="themes

=> name="themes[]"

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 20:26 19-02-2008
XPOMOB

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Вот так? Так уже пробовал (но сейчас ещё раз попробовал) - ничего не получается
 
получается вот это: same.php?themes%5B%5D=02&themes%5B%5D=03
 
 

Код:
 
 
<FORM action="http://somesite.com/same.php" method="get">  
    <INPUT type="checkbox" name="themes[]" value="01"> 01<BR>  
    <INPUT type="checkbox" name="themes[]" value="02"> 02<BR>  
    <INPUT type="checkbox" name="themes[]" value="03"> 03<BR>  
    <INPUT type="checkbox" name="themes[]" value="04"> 04<BR>  
    <input type="submit" value="Отправить"> <input type="reset" value="Очистить">
</form>
 
 

Всего записей: 5 | Зарегистр. 19-02-2008 | Отправлено: 10:29 20-02-2008
andead



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
XPOMOB

Код:
<form action="" method="get">
    <input type="checkbox" name="themes[]" value="01" /> 01<br />
    <input type="checkbox" name="themes[]" value="02" /> 02<br />
    <input type="checkbox" name="themes[]" value="03" /> 03<br />
    <input type="checkbox" name="themes[]" value="04" /> 04<br />
    <input type="submit" value="Отправить" />
    <input type="reset" value="Очистить" />
</form>
<hr />
<pre>
    <?php print_r(@$_GET['themes']); ?>
</pre>

Всего записей: 1821 | Зарегистр. 22-09-2005 | Отправлено: 12:18 20-02-2008 | Исправлено: andead, 12:19 20-02-2008
XPOMOB

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
<pre>  
    <?php print_r(@$_GET['themes']); ?>  
</pre>

 
Спасибо за подсказку (точнее - за полное решение проблемы).

Всего записей: 5 | Зарегистр. 19-02-2008 | Отправлено: 09:02 21-02-2008
oppo

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Пановэ ПИДСКАЖИТЬ БУДЬ ЛАСКА
Проверка:Телефон
 - можно пробелы, дэффисы ,скобки - от 4 цифр до 8

Всего записей: 84 | Зарегистр. 02-06-2003 | Отправлено: 18:37 26-03-2008
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
oppo

Цитата:
- можно пробелы, дэффисы ,скобки - от 4 цифр до 8

примеры, плиз

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 19:24 26-03-2008
oppo

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
небольшая поправка  примерно так  
7-162122  или +7 (495) 139-1322
 

Всего записей: 84 | Зарегистр. 02-06-2003 | Отправлено: 20:02 26-03-2008 | Исправлено: oppo, 20:03 26-03-2008
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
oppo

Цитата:
небольшая поправка  примерно так  

все возможные варианта ввода, плиз..

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 20:10 26-03-2008
oppo

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
==все возможные варианта ввода==  
Это  +7 (495) 139-1322 общий вариант .
Возможны простые 1234567 и 1 234 567 и 22-22-22-22
допутимы пробелы несколько а также ()  _ - + между цифрами кол-во=1  
цифр должно быть 5  минимум  и ограничить общее поле (учитывая не цифры и пробелы ) скажем до 18
 
Добавлено:
из Jquery проверки нашел проверки номеров  
1) /^-?(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/
2) /^-?(?:\d+|\d{1,3}(?:\.\d{3})+)(?:,\d+)?$/
3) url   /^([A-Za-z]+:\/\/)?[A-Za-z0-9-_]+\.[A-Za-z0-9-_%&\?\/.=]+$/i
4) Date iso   /^\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$/
5) dateDE     /^\d\d?\.\d\d?\.\d\d\d?\d?$/
может кому пригодиться
 
Добавлено:
вроде похоже но буквы пропускает  
/(\+)?([-\._\(\) ]?[\d]{1,20}[-\._\(\) ]?){2,10}/

Всего записей: 84 | Зарегистр. 02-06-2003 | Отправлено: 20:27 26-03-2008
stress web



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
помогите сделать проверку формы какая включает в себя отправку логина, пароля, повтор пароля, мыло.
если делаю все по одному то работает а если все вместе то проверяет только первое поле.

Всего записей: 3 | Зарегистр. 13-08-2008 | Отправлено: 02:46 13-08-2008
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
stress web

Цитата:
если делаю все по одному то работает а если все вместе то проверяет только первое поле.

код, плиз..

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 02:49 13-08-2008
stress web



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
 
<script type="text/javascript">//<![CDATA[
function checK(f)
{
if (f.account.value=='')
    {
    alert("а зовут-то как?");
    f.account.focus(); return false
    }
if (/^\w{4,15}$/.test(f.account.value))
    {
    return true
    }
if (f.password.value=='')
    {
    alert("пароль тоже надо вводить");
    f.password.focus(); return false
    }
    alert('такой логин не пойдет');
    f.account.select()
return false
 
}
//]]></script>
 

 
Форма:

Код:
<form name=\"f\" method=\"post\" action=\"index.php?t=core/reg&f=reg2\" onsubmit=\"return checK(this)\">
<input type=\"hidden\" name=\"rulestrue\" value=\"on\" />
<table>
 <tr>
  <td>Логин:</td>
  <td><input type=\"text\" name=\"account\" maxlength=\"15\" /></td>
 </tr>
 <tr>
  <td>Пароль:</td>
  <td><input type=\"password\" name=\"password\" maxlength=\"15\" /></td>
 </tr>
 <tr>
  <td>Повторите пароль:</td>
  <td><input type=\"password\" name=\"password2\" maxlength=\"15\" /></td>
 </tr>
 <tr>
  <td>Контактный email:</td>
  <td><input type=\"email\" name=\"email\" maxlength=\"30\" /></td>
 </tr>
 <tr>
  <td>Вопрос:</td>
  <td><select name=\"question\">
    <option value=\"Имя друга?\">Имя друга?
        <option value=\"Сколько Вам лет?\">Сколько Вам лет?
            <option value=\"Номер паспорта?\">Номер паспорта?
                <option value=\"Любимое блюдо?\">Любимое блюдо?
                       </select>
                              </td>
 </tr>
 <tr>
  <td>Ваш ответ:</td>
  <td><input type=\"text\" name=\"answer\" maxlength=\"15\" /></td>
 </tr>
 <tr>
  <td colspan=\"2\" style=\"text-align: center; \"><br />
  <input type=\"submit\" name=\"submitreg\" value=\"Регистрация логина\" /></td>
 </tr>
</table>
</form>

Всего записей: 3 | Зарегистр. 13-08-2008 | Отправлено: 13:11 13-08-2008
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
stress web
ну вот потому, что сразу возвращается false, потому и останавливается на первой же неправильной форме
 
function checK(f)
{
var mess=''
if (f.account.value=='')
    {
    mess="а зовут-то как?\n";
    f.account.focus();
    }
if (/^\w{4,15}$/.test(f.account.value))
    {
    return true
    }
if (f.password.value=='')
    {
    mess+="пароль тоже надо вводить\n";
    f.password.focus();
    }
    mess+="такой логин не пойдет\n";
    f.account.select()
if (mess!='')
 {
 alert(mess); return false
 }
return true  
}

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 19:12 13-08-2008
stress web



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cheery, спасибо но я уже по другому решил етот вопрос
 
 

Код:
<script type="text/javascript">//<![CDATA[
function checkit(v)
{
    if (/^\w{4,15}$/.test(v))
    return true;
    else
    return false;
}
 
function checkp(val1,val2)
{
    if (val1==val2)
    return true;
    else
    return false;
}
 
function checK(f)
{
    if (f.account.value=='')
    {
        alert("а зовут то вас как?");
        f.account.focus();return false
    }
    if (!checkit(f.account.value))
    {
        alert('такой логин не пойдет');
        f.account.select();return false
    }
    if (f.password.value=='')
    {
        alert("пароль то забыли ввести");
        f.password.focus();return false
    }
    if (!checkit(f.password.value))
    {
        alert('такой пароль не пойдет');
        f.password.select();return false
    }
    if (f.password2.value=='')
    {
        alert("введите повторно пароль");
        f.password2.focus();return false
    }
    if (!checkp(f.password.value,f.password2.value))
    {
        alert('пароли не совпадают');
        f.password2.select();return false
    }
    if (f.answer.value=='')
    {
        alert("Ответ пожалуйста введите");
        f.answer.focus();return false
    }
    if (!checkit(f.answer.value))
    {
        alert('такой ответ не пойдет');
        f.answer.select();return false
    }
    if (f.email.value=='')
    {
        alert("не... мыло надо написать");
        f.email.focus();return false
    }
    if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test(f.email.value))
    {
        return true
    }
alert('такое мыло не пойдет'); f.email.select()
return false
}
 
//]]></script>

Всего записей: 3 | Зарегистр. 13-08-2008 | Отправлено: 19:40 13-08-2008 | Исправлено: stress web, 19:41 13-08-2008
kiosk_007



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброго времени суток,
 
у меня для спецов простой вопрос. Сам промучился с ним уже 2 недели не получается зараза ни как.
И так есть 2 готовых скрипта.
 1 на PHP для регистрации и отправки сообщений  
 2-й на JavaScript он прячет адрес e- mail от Spam-поисковиков  
Каждый по отдельности работает.
 
Нужно их объединить в один рабочий скрипт. И здесь знаний не хватает. ПОМОГИТЕ.
 
Первоисточник скриптов здесь:
http://www.gaijin.at/scripts.php
Там много интересного и полезного есть.
 
Вот сами скрипты:
 
1.PHP
 
<?php  
 
// *** Deine Mailadresse (Empf&#228;nger) ***  
$mail_to="deine@mailadresse.com";  
 
// *************************************  
 
$from_name=$_POST['fromname'];  
$from_mail=strtolower($_POST['frommail']);  
$mail_subject=$_POST['mailsubject'];  
$mail_text=$_POST['mailtext'];  
$send=$_POST['s'];  
 
if(trim($from_name)=="") $err_text.="Bitte gib Deinen Namen an.<br>";  
if(trim($from_mail)=="")  
  $err_text.="Bitte gib Deine E-Mail-Adresse an.<br>";  
else  
  if(!ereg("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,6})$",$from_mail))  
    $err_text.="Bitte gib eine g&#252;ltige E-Mail-Adresse an.<br>";  
if(trim($mail_subject)=="") $err_text.="Bitte gib einen Betreff ein.<br>";  
if(trim($mail_text)=="") $err_text.="Bitte gib einen Nachrichtentext ein.<br>";  
 
// *** Zu langen Text abschneiden ***  
if(strlen($mail_text)>1000) {  
  $mail_text=substr($mail_text,0,1000)."... (Text wurde gek&#252;rzt!)";  
}  
$from_name=str_replace(chr(34),"''",$from_name);  
$mail_subject=str_replace(chr(34),"''",$mail_subject);  
$from_name=stripslashes($from_name);  
$from_mail=stripslashes($from_mail);  
$mail_subject=stripslashes($mail_subject);  
$mail_text=stripslashes($mail_text);  
 
if(($send=="1") && (isset($err_text))) {  
  echo "<p><big><b>Fehler:</b></big><br>";  
  echo "$err_text</p>";  
}  
 
if(($send!="1") || (isset($err_text)))  
{  
?>  
 
<form action="<?php echo $_SERVER['../de/PHP_SELF']; ?>" method="post">  
<table border=0 cellspacing=2 cellpadding=0 width=100%>  
<tr><td nowrap align=right>Dein Name:</td><td>&nbsp;</td>  
<td width=100%><input type="text" name="fromname" size=50 maxlength=120 value="<?php echo $from_name; ?>"></td></tr>  
<tr><td nowrap align=right>Deine E-Mail Adresse:</td><td></td>  
<td width=100%><input type="text" name="frommail" size=50 maxlength=120 value="<?php echo $from_mail; ?>"></td></tr>  
<tr><td nowrap align=right>Betreff:</td><td></td>  
<td width=100%><input type="text" name="mailsubject" size=50 maxlength=120 value="<?php echo $mail_subject; ?>"></td></tr>  
<tr><td nowrap align=right valign=top>Text:<br><i>(max. 1.000 Zeichen)</i></td><td></td>  
<td width=100%><textarea cols="60" rows="15" name="mailtext"><?php echo $mail_text; ?></textarea></td></tr>  
<tr><td></td><td></td><td>  
<input type="hidden" value="1" name="s">  
<input type="submit" value="Nachricht versenden" name="submit">  
</td></tr>  
</table>  
</form>  
 
<?php  
} else {  
  $header="From: $from_name <$from_mail>\n";  
  $header.="Reply-To: $from_mail\n";  
  $header.="X-Mailer: PHP-FormMailer (www.gaijin.at)\n";  
  $header.="Content-Type: text/plain";  
  $mail_date=gmdate("D, d M Y H:i:s")." +0000";  
  $send=0;  
  if(@mail($mail_to,$mail_subject,$mail_text,$header))  
  {  
    echo "<p><b>Deine E-Mail wurde abgesendet.</b></p>";  
    echo "<p><a href=\"".$_SERVER['PHP_SELF']."?from_name=$from_name&from_mail=$from_mail\">Zur&#252;ck zum Formular</a></p>";  
  }else{  
    echo "<p><b>Beim Versenden der E-Mail ist ein Fehler aufgetreten!</b></p>";  
    echo "<p><a href=\"".$_SERVER['PHP_SELF']."?from_name=$from_name&from_mail=$from_mail&mail_subject=$mail_subject&mail_text=";  
    echo urlencode($mail_text)."\">Zur&#252;ck zum Formular</a></p>";  
  }  
}  
?>  
 
2.JavaScript
 
 
<script language="javascript"><!--
var mailadr="name";
var maildom="domain.com";
var mailarg="";
document.write('<a href="mailto:'+mailadr+'@'+maildom+mailarg+'">'+mailadr+'@'+maildom+'</a>');
//--></script>
<noscript>name&amp;nbsp;[at]&amp;nbsp;domain&amp;nbsp;[dot]&amp;nbsp;com</noscript>

Всего записей: 362 | Зарегистр. 17-08-2007 | Отправлено: 12:53 10-10-2008
ofj

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Привет всем асам, неподскажете(напишите) пожалейста решение такого вопроса:
когда чекбокс выбран, патом кнопка должна стать True, а до этого False(типа "Я согласен с условием" а потом "Далее")

Всего записей: 233 | Зарегистр. 13-10-2008 | Отправлено: 14:12 14-10-2008
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ofj
читать
JS: Активность submit при выполнении условий
JS: Активация / деактивация форм
Потверждение

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 20:30 14-10-2008
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14

Компьютерный форум Ru.Board » Интернет » Web-программирование » JavaScript: Проверка значений элементов формы (e-mail, имя..


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru