Сравнение двух строк
Здравствуйте, не очень силён в программировании, поэтому прошу о подсказке...
Дело в том, что у меня есть два поля, где я получаю строку (номер телефона) Код:
$('.tel1 span').keyup(function(e){ Код:
//создаешь какое-нибудь поле |
drac0Sha,
Выложите 1. HTML код инпутов - 2. Варианты Правильных(неправильных) вводимых строк 3. Опишите ситуацию: что с чем сравнивается, по-какому событию и что надо вывести |
1. HTML код инпутов
Код:
<div class="data-form"> правильные: +79035555555 неправильные: 89035555555 Это у меня реализовано) 3. Ситуацию в том, что у меня идёт ввод пользователем двух телефонов (своего и чужого), правильный ввод или нет (см.п.2) работает, то есть остаётся только проверить не ввёл ли пользователь один и тот же номер (свой или чужой) в два поля. |
выложил)
|
drac0Sha,
Завтра - Гляну |
Пока ничего не делал - Есть Вопросы:
<script type="text/javascript" src="http://yandex.st/jquery/1.4.4/jquery.min.js"></script> <div class="data-form"> <div class="row"> <label for="alt11">Телефон 1:</label> <div class="holder-row"> <div class="input-text tel-wrap tel"> <span> <label>+7 (<input type="text" maxlength="3" id="phoneSource1" />) </label> <label> <input type="text" maxlength="3" id="phoneSource2"/></label> <label> - <input type="text" maxlength="2" id="phoneSource3"/></label> <label> - <input type="text" maxlength="2" id="phoneSource4"/></label> </span> </div> <span class="ok-holder"> </span> <span class="error-holder">Телефон<br />введен<br />не верно</span> </div> </div> <div class="row"> <label for="alt12">Телефон 2:</label> <div class="holder-row"> <div class="input-text tel-wrap tel"> <span> <label>+7 (<input type="text" maxlength="3" id="phoneDestination1"/>) </label> <label> <input type="text" maxlength="3" id="phoneDestination2"/></label> <label> - <input type="text" maxlength="2" id="phoneDestination3"/></label> <label> - <input type="text" maxlength="2" id="phoneDestination4"/></label> </span> </div> <span class="ok-holder"> </span> <span class="error-holder">Телефон<br />введен<br />не верно</span> </div> </div> <script type="text/javascript"> $('.tel-wrap.tel:first span input').keyup(function(){ var curr_el=$(this), curr_value=curr_el.val(), max_len=parseInt(curr_el.attr('maxlength')); curr_el.val(curr_value.replace(/[^0-9]+/,'')) curr_value=curr_el.val(); if(curr_value.match('[0-9]{'+max_len+'}')){ curr_el.parent().next().find('input').focus(); if(checkSumm(curr_el.parents('.tel1').find('input:text'))){ $(this).parents('.row').removeClass('error').addClass('ok'); if(allIsValid()){ disable(button,false); } } } if(checkSumm(curr_el.parents('.tel1').find('input:text'))){ if(allIsValid()){ disable(button,false); } }else{ $(this).parents('.row').removeClass('ok').addClass('error'); disable(button,true); } }); //для 2 телефона $('.tel-wrap.tel:last span input').keyup(function(){//alert("B") var curr_el=$(this), curr_value=curr_el.val(), max_len=parseInt(curr_el.attr('maxlength')); curr_el.val(curr_value.replace(/[^0-9]+/,'')) curr_value=curr_el.val(); if(curr_value.match('[0-9]{'+max_len+'}')){ curr_el.parent().next().find('input').focus(); if(checkSumm(curr_el.parents('.tel2').find('input:text'))){ $(this).parents('.row').removeClass('error').addClass('ok'); if(allIsValid()){ disable(button,false); } } } if(checkSumm(curr_el.parents('.tel2').find('input:text'))){ if(allIsValid()){ disable(button,false); } }else{ $(this).parents('.row').removeClass('ok').addClass('error'); disable(button,true); } }); </script> |
1. Нафига столько проверок ?
Почему - не провеять заполнение - когда все поля одного телефона заполнены ? - тогда и проверять ? 'Телефон введен не верно' - в этом случае лучше заменить на аlert. 2. Если так подойдёт - завтра сделаю Да и как правильно - два телефона - одинаковых - или разных ? |
Тут все просто, вроде. В чужой код лезть не буду, так как я сам новичек. Но вроде так, не воспринимайте мой пример верьез:
<!DOCTYPE html> <html> <head> <title>ddd</title> </head> <body> <div class="data-form"> <div class="row"> <label for="alt11">Телефон 1:</label> <div class="holder-row"> <div class="input-text tel-wrap tel"> <span> <label>+7 (<input type="text" maxlength="3" id="phoneSource1" />) </label> <label> <input type="text" maxlength="3" id="phoneSource2"/></label> <label> - <input type="text" maxlength="2" id="phoneSource3"/></label> <label> - <input type="text" maxlength="2" id="phoneSource4"/></label> </span> </div> <span class="ok-holder"> </span> <span class="error-holder">Телефон<br />введен<br />не верно</span> </div> </div> <div class="row"> <label for="alt12">Телефон 2:</label> <div class="holder-row"> <div class="input-text tel-wrap tel"> <span> <label>+7 (<input type="text" maxlength="3" id="phoneDestination1"/>) </label> <label> <input type="text" maxlength="3" id="phoneDestination2"/></label> <label> - <input type="text" maxlength="2" id="phoneDestination3"/></label> <label> - <input type="text" maxlength="2" id="phoneDestination4"/></label> </span> </div> <span class="ok-holder"> </span> <span class="error-holder">Телефон<br />введен<br />не верно</span> </div> <input type="button" value="Проверить" onclick="checks()" /> </div> <script type="text/javascript"> function checks() { var tel11 = document.getElementById('phoneSource1').value; var tel12 = document.getElementById('phoneSource2').value; var tel13 = document.getElementById('phoneSource3').value; var tel14 = document.getElementById('phoneSource4').value; var phoneSource = tel11 + tel12 + tel13 + tel14; var tel21 = document.getElementById('phoneDestination1').value; var tel22 = document.getElementById('phoneDestination2').value; var tel23 = document.getElementById('phoneDestination3').value; var tel24 = document.getElementById('phoneDestination4').value; var phoneDestination = tel21 + tel22 + tel23 + tel24; if (phoneSource == phoneDestination) { alert("Не пытайся схитрить, падла!") } else { alert("Все нормуль. ") } } </script> </body> </html> |
PashPP, спасибо за ответ, завтра попробую...сейчас уже не у компьютера
|
Цитата:
"Телефон введен не верно" работает (это проверка символов, чтобы только числа вводили" Проверку хочется сделать именно на тот случай, когда два номера введеные 1 и 2 если ОДИНАКОВЫЕ, то выводило ошибку, а если разные то всё нормально.вот) если телефон правильно набрал, то там напротив поля ввода появляется галочка, а если какая то ошибка то телефон введен неверно, так вот сейчас там если два телефон ввести одинаковые то напротив двух телефонов покажутся галочки ( все нормально),а нужно дописать в том коде чтобы напротив одного показало галочку, а напротив второго написало телефон введен неверно надеюсь, я понятно описал проблема)) Спасибо большое за отзывчивость) |
Часовой пояс GMT +3, время: 16:14. |