Как проверить 2 поля, сравнивая их после определенного символа

0

Я хочу проверить 2 поля после определенного символа:

<input id="email" class="txt" type="text" maxlength="255" value="" size="25" name="email"></input>
<input onblur="alexa()" id="domain" class="txt" maxlength="255" value="" size="25" name="domain" type="text">

Я знаю, что для проверки их вы делаете что-то вроде этого

function BothFieldsIdenticalCaseSensitive2() {
 var two = document.getElementById('email').value;
 var three = document.getElementById('domain').value;

Я знаю, что сравнивать их просто одно значение из поля с другим было бы немного

 if(two == three) { return true; }
 alert("Warning!! passcodes must match!!!");
 return false;
}

Но мне нужно знать:

//как вы попросите его сравнить 2 поля после символа "@", и если символы совпадают после этого символа, тогда верните true; else {alert (Пожалуйста, добавьте адрес электронной почты для регистрации ([email protected])}

Теги:

2 ответа

0
Лучший ответ

Вы можете использовать функцию split на char @:

var two = document.getElementById('email').value;
var three = document.getElementById('domain').value;

var first = two.split("@")[1]; //[1] to get the part after the split char
var second = three.split("@")[1];

//Compare
if (first == second)
    console.log("They match!");
  • 0
    Похоже, что он не принимает их должным образом, он по-прежнему берет и сравнивает их просто не после того, как char посмотрел blowppc.com/ppc-publisher-registration.php . Введите [email protected] по электронной почте, а в домене введите domain.com, это будет работать только в том случае, если я добавлю одинаковые символы в оба. Кстати, это скрипка jsfiddle.net/76XNX/2
  • 0
    @Adrian - Если я [email protected] и www.gmail.com соответственно, это сравнится с true , верно?
Показать ещё 7 комментариев
1
function BothFieldsIdenticalCaseSensitive2() {
    var two = document.getElementById('email').value;
    var three = document.getElementById('domain').value;

    var twoIndexOfAt = two.indexOf("@");
    var threeIndexOfAt = two.indexOf("@");
    var match = twoIndexOfAt !== -1 && 
        threeIndexOfAt !== -1 &&
        two.substring(twoIndexOfAt + 1) === three.substring(threeIndexOfAt + 1);

    if (match) { 
        return true; 
    }
    else {
        alert("Warning!! passcodes must match!!!");
        return false;
    }
}
  • 0
    Пробовал это, но делает то же самое, что TymeJV. Как-то не пропускает символы после "@".

Ещё вопросы

Сообщество Overcoder
Наверх
Меню