Сравнение двух строк
Здравствуйте, не очень силён в программировании, поэтому прошу о подсказке...
Дело в том, что у меня есть два поля, где я получаю строку (номер телефона) Код:
$('.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:55. |