Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Проверка правильности номера js (https://forum.antichat.xyz/showthread.php?t=185315)

SultanOFF 09.03.2010 17:44

Проверка правильности номера js
 
Здравствуйте. Подскажите пожалуйста функцию для проверки номера телефона, и функцию которая бы недопускала ввод букв, только цифр(и + -). В js мало разбираюсь поэтому прошу помощи на форуме.

Deathdreams 09.03.2010 17:44

сама функция:

Код:

function phone(element){


while(element.value.match(/[^0-9_]/)){

element.value = element.value.replace(/[^0-9]/, '');

                                                }

return true;
}

Использование:

Код:

<input type="text" name="body" id="body" onkeyup="phone(this);" onkeypress="phone(this)" onpaste="phone(this);" value="">

тут можно увидеть работу этой функции: antichat-sms.ru

m0Hze 09.03.2010 18:09

Цитата:

Сообщение от Deathdreams
antichat-sms.ru
я задействовал JS

---------

upd.

сама функция:

Код:

function phone(element){


while(element.value.match(/[^0-9_]/)){

element.value = element.value.replace(/[^0-9]/, '');

                                                }

return true;
}

Использование:

Код:

<input type="text" name="body" id="body" onkeyup="phone(this);" onkeypress="phone(this)" onpaste="phone(this);" value="">

еще не заебался пиарица в каждом посте? Устроил тут каталог ссылок.

Deathdreams 09.03.2010 18:17

Цитата:

Сообщение от m0Hze
еще не заебался пиарица

пиар ?

а какую пользу мне приносит сервис ?

может ты ещё скажешь, что он напичкан фреймами, рекламой ?

или я рублю миллионы с нулевой благотворительности?

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

Для таких наркоманов как ты, подправил верхний пост.

SultanOFF 09.03.2010 18:53

Deathdreams спасибо, функция работает ок. И сайт твой отличный, смс дошла ;) А можешь ты подсказать функцию, которая бы еще проверяла минимальное количество символом?

dr.Web 09.03.2010 19:15

PHP код:

<input type="text" oninput="if(this.value.length<10){alert('Длинна введённого телефона меньше 10');}" name="body" id="body" onkeyup="phone(this);" onkeypress="phone(this)" onpaste="phone(this);" value=""


Deathdreams 09.03.2010 19:16

Цитата:

Сообщение от SultanOFF
Deathdreams спасибо, функция работает ок. И сайт твой отличный, смс дошла ;) А можешь ты подсказать функцию, которая бы еще проверяла минимальное количество символом?

Код:


var min = 6; //минимальное значение
input = document.getElementById('ТУТ_ID_ПОЛЯ').value;

if( input.lenght < min ) alert('Минимальное количество знаков - '+min);

ТУТ_ID_ПОЛЯ заменить на нужный

dr.Web 09.03.2010 19:22

Цитата:

Сообщение от Deathdreams
Код:


var min = 6; //минимальное значение
input = document.getElementById('ТУТ_ID_ПОЛЯ').value;

if( input.lenght < min ) alert('Минимальное количество знаков - '+min);

ТУТ_ID_ПОЛЯ заменить на нужный

чем тебе моя запись не понравилась? :)

Deathdreams 09.03.2010 19:32

Цитата:

Сообщение от dr.Web
чем тебе моя запись не понравилась? :)

я не заметил, ты на пару секунд опередил )

TRX.new 09.03.2010 19:34

А если отключить выполнение сценариев, то никакие проверки не прокатят.. может быть лучше на php это реализовать с регулярками?

SultanOFF 09.03.2010 19:53

спасибо, только повесил на onblur, ибо после каждого нажатия выводит сообщение)

а на php пока нет смысла, на данный момент этого достаточно

SultanOFF 10.03.2010 18:11

дабы не плодить темы, хочу задать еще один вопрос: можно ли посредством javascript преобразовать строку вида 79131234567 в такой шаблон +7 913 1234567, и если да, то как?

Pashkela 10.03.2010 18:37

Код:

<script type="text/javascript">
function formatPhone(phonenum) {
    var regexObj = /^(?:\+?1[-. ]?)?(?:\(?([0-9]{3})\)?[-. ]?)?([0-9]{3})[-. ]?([0-9]{4})$/;
    if (regexObj.test(phonenum)) {
        var parts = phonenum.match(regexObj);
        var phone = "";
        if (parts[1]) { phone += "+7 (" + parts[1] + ") "; }
        phone += parts[2] + "-" + parts[3];
        return phone;
    } else {
        return phonenum;
    }
}
alert(formatPhone('9131234567'));
</script>


SultanOFF 10.03.2010 20:27

почему если Я делаю вот так onchange="formatPhone(this.value);" то функция не работает, просто при загрузки страницы появляется всплывающее окно +7 (913) 123-4567

Compton 10.03.2010 22:06

Цитата:

Сообщение от TRX.new
А если отключить выполнение сценариев, то никакие проверки не прокатят.. может быть лучше на php это реализовать с регулярками?

PHP код:

<html>
<form name="form1" method="post" action="">
  <input name="num" type="text" id="num">
  <input type="submit" name="Submit" value="Подтвердить">
</form>


</html>
<?php
$num
=$_POST['num'];
if(
preg_match('/\+[0-9]/',$num))
{
echo 
"good";
}else{
echo 
"bad";
}
?>


dr.Web 11.03.2010 01:51

Цитата:

Сообщение от SultanOFF
почему если Я делаю вот так onchange="formatPhone(this.value);" то функция не работает, просто при загрузки страницы появляется всплывающее окно +7 (913) 123-4567



PHP код:


<script type="text/javascript"
function 
formatPhone(phonenum) {
    var 
regexObj = /^(?:\+?1[-. ]?)?(?:\(?([0-9]{3})\)?[-. ]?)?([0-9]{3})[-. ]?([0-9]{4})$/;
    if (
regexObj.test(phonenum)) {
        var 
parts phonenum.match(regexObj);
        var 
phone "";
        if (
parts[1]) { phone += "+7 (" parts[1] + ") "; }
        
phone += parts[2] + "-" parts[3];
        return 
phone;
    } else {
        return 
phonenum;
    }
}

///вызов функции просто закомментируем его
//alert(formatPhone('9131234567')); 
//и вуаля

</script

и тут попробуем вот так

onchange="alert(formatPhone(this.value));"


;) ;)

SultanOFF 11.03.2010 12:47

да что ж такое, сделал все как вы сказали, и теперь вообще ничего не происходит :(

dr.Web 11.03.2010 23:51

чтото делаешь не так


Время: 16:14