IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Веб-программирование (http://www.imho.ws/forumdisplay.php?f=29)
-   -   Проверка правильности ввода [javascript] (http://www.imho.ws/showthread.php?t=79064)

_ARMAGEDDON_ 03.02.2005 16:23

Проверка правильности ввода [javascript]
 
Как проверить на JavaScript'e правильно ли введен телефон?
в текстовое поле пользователь вводит телефон вида (xxx) xxx-xx-xx
перед отправкой формы надо проверить правильность ввода.. как это сделать?

dacuan 03.02.2005 16:50

В onsubmit добавь код
Код:

if (!document.form_name.input_name.value.match(/\([0-9]{3}\)\s[0-9]{3}\-[0-9]{2}\-[0-9]{2}/)) {
    alert('Error');
    return false;
}


_ARMAGEDDON_ 04.02.2005 10:26

сделал вот так

<script type=text/javascript>
<!--
function check() {
if (!document.add.phone.value.match(/\([0-9]{3}\)\s[0-9]{3}\-[0-9]{2}\-[0-9]{2}/)) {
alert('(xxx) xxx-xx-xx');
return false;
} else { return true; }
}
//-->
</script>

<a href=#add onclick=\"check(); add.submit();\">add</a>

но не пойму что написать если check() true выполнить add.submit()
в js полный чайник :)

rontommy 04.02.2005 11:07

а так ?

<script type=text/javascript>
<!--
function check_and_submit() {
if (!document.add.phone.value.match(/\([0-9]{3}\)\s[0-9]{3}\-[0-9]{2}\-[0-9]{2}/)) {
alert('(xxx) xxx-xx-xx');
return false;
} else { document.add.submit(); return true; }
}
//-->
</script>

<a href=#add onclick="check_and_submit();">add</a>

_ARMAGEDDON_ 04.02.2005 11:36

спасибо все работает
но только щас идет проверка на телефон вида (xxx)xxx-xx-xx а надо чтобы после кода еще пробел был (xxx) xxx-xx-xx , что добавить/изменить?

dacuan 04.02.2005 11:51

Должно работать именно с пробелом :\
Но попробуй так

<script type=text/javascript>
<!--
function check_and_submit() {
if (!document.add.phone.value.match(/\([0-9]{3}\)\s+[0-9]{3}\-[0-9]{2}\-[0-9]{2}/)) {
alert('(xxx) xxx-xx-xx');
return false;
} else { document.add.submit(); return true; }
}
//-->
</script>

_ARMAGEDDON_ 04.02.2005 12:02

вот так все отлично работает

rontommy 04.02.2005 12:29

_ARMAGEDDON_
Разница между "\s" и "\s+" в том, что в первом случае может быть только один пробел, а во втором - один или более пробелов :) .

_ARMAGEDDON_ 04.02.2005 13:40

так в первом случае даже один пробел не прокатывает, выдается ошибка
где про рег. выражения поподробнее почитать можно?

Sheryld 04.02.2005 14:00

можно еще вот так (\s+)? типа может быть пробел(ы) а может и не быть.

_ARMAGEDDON_ 14.02.2005 13:18

возникла промблемка

вот такая форма ввода
(095) 181-03-61; (910) 400-14-96
тоже прокатывает..
ладно бы только это
но и
(095) 181-03-61; (910) 3456346573
и т.д

что изменить в рег выражении чтобы можно
было публиковать только 1 телефон?

EvroStandart 15.02.2005 10:57

А может просто уменьшить количество символов в поле ввода?

dacuan 15.02.2005 11:08

Для одного телефона
<script type=text/javascript>
<!--
function check_and_submit() {
if (!document.add.phone.value.match(/^\([0-9]{3}\)\s+[0-9]{3}\-[0-9]{2}\-[0-9]{2}$/)) {
alert('(xxx) xxx-xx-xx');
return false;
} else { document.add.submit(); return true; }
}
//-->
</script>


Часовой пояс GMT +4, время: 03:14.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.