Я хочу проверить 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])}
Вы можете использовать функцию 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!");
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;
}
}
[email protected]
иwww.gmail.com
соответственно, это сравнится сtrue
, верно?