Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.07.2015, 09:21
Профессор
Отправить личное сообщение для espltd Посмотреть профиль Найти все сообщения от espltd
 
Регистрация: 10.10.2012
Сообщений: 201

Отлов мобильного
Всем привет! Ребята, подскажите пожалуйста, не могу допилить регулярку. Надо искать мобильные телефоны. Сделал так.

/(\+7|8)(\d{10})/


Эта регулярка выбирает только такие:

+79028380801;
9028380801 (вот тут номер без восьмерки, а надо как то сделать 8-ку),
и чтобы из таких 8-(922)-24-42-700, сделался такой 89222442700, тире тоже хотелось бы сразу все леквидировать.
В общем чтобы номера были однообразные 8919 и т.д. либо + 7919 и т.д., чтобы не было ни скобок ни тире. Надеюсь понятно изложил)) Спасибо заранее всем!
Ответить с цитированием
  #2 (permalink)  
Старый 23.07.2015, 11:05
Аватар для EmperioAf
Профессор
Отправить личное сообщение для EmperioAf Посмотреть профиль Найти все сообщения от EmperioAf
 
Регистрация: 15.01.2015
Сообщений: 622

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
 <meta http-equiv="content-type" content="text/html; charset=utf-8" />
 <title>Спойлеры</title>
 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<style>
*{
    margin:0;
    padding:0;
    outline: 0;
}

input:hover {
    outline: none;
}

input{
    margin-left: 50px;
    margin-top: 10px;
}

input[type="text"]:first-child{
    margin-bottom: 10px;
}
input[type="button"] {
    display: block;
    width: 150px;
    height:30px;
    margin-bottom: 10px;
}
</style>
</head>
<body>
    <input name="telnumber"  type="text">
    <input name="telbutton"  type="button" value='Нажми меня'>
    <input name="telnumberresult"  type="text">
    <script>
    var button = document.getElementsByName("telbutton")[0];
    button.onclick = function(){
        var telNumber = document.getElementsByName("telnumber")[0].value;
        var telNumberResultElem = document.getElementsByName("telnumberresult")[0];
        var number=telNumber.replace(/\D/gm,'');
        if (number.length>11 || number.length<10)
            alert('Вы неправильно ввели моб. телефон');
        else if((number[0]!=='8' && number[0]!=='7')&&(number.length=='11'))
            alert('Вы неправильно ввели моб. телефон');
        else telNumberResultElem.value = number;
    }
    </script>
</body>
</html>
Ответить с цитированием
  #3 (permalink)  
Старый 23.07.2015, 12:29
Профессор
Отправить личное сообщение для espltd Посмотреть профиль Найти все сообщения от espltd
 
Регистрация: 10.10.2012
Сообщений: 201

Спасибо, но вот правда у меня куча телефонов через точку с запятой, выглядит так:

+7(919)7076922;89504412323;+791543435454

как их тоже обработать?
Ответить с цитированием
  #4 (permalink)  
Старый 23.07.2015, 12:47
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

Сообщение от espltd
;+791543435454
11 а не 10 ?
Ответить с цитированием
  #5 (permalink)  
Старый 23.07.2015, 12:59
Аспирант
Посмотреть профиль Найти все сообщения от tysonfury2015
 
Регистрация: 22.07.2015
Сообщений: 68

alert(

"+71233332433434434344;87474883839399;8(757) 94-994949-4994;8-0505-99595-5885858"

.replace(/\+7/g, "8")
.replace(/\(|\)|-|\s+/g, "")

)


прогони даные по этой фигне, а потом сматчишь обычной. Если сразу матчить, будет зело сложная конструкция, что-то типа /(+7|8|)?\(?(\d-?){3}\)?(\d-?){7... ненадежно это все, да и лень мне цифры считать для образца. Если запостишь кусок из базы с верными и неверыми случаями, полный комплект(и пометь как-нибудь верные и неверные), может напишу.

Последний раз редактировалось tysonfury2015, 23.07.2015 в 13:29.
Ответить с цитированием
  #6 (permalink)  
Старый 23.07.2015, 13:35
Профессор
Отправить личное сообщение для espltd Посмотреть профиль Найти все сообщения от espltd
 
Регистрация: 10.10.2012
Сообщений: 201

ох, ну ладно! Спасибо всем на этом.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Эмуляция мобильного браузера MadGest jQuery 0 27.03.2014 23:17
Отлов адресов в тексте TylerDurden Общие вопросы Javascript 9 16.10.2013 14:42
Отлов изменения размера элемента. Какие способы есть? danik.js Events/DOM/Window 3 05.02.2013 11:00
Что нужно проверять в номере мобильного? kvadratnt Общие вопросы Javascript 1 13.12.2012 15:54
Выход или сворачивание окна мобильного браузера dehimer Мобильный JavaScript 6 09.11.2011 11:08