Вход

Просмотр полной версии : Не работает код как нужно


Stroganov Vladimir K.
17.05.2007, 23:18
Выдает оба true,хотя нужно,чтобы выдавал true и false.В чем ошибка?

function mail_checker(str) {
var str_arr = str.split("");
for (i = 0; i<str.length; i++) {
if (str_arr[i]="@") {
return true;
}
}
return false;
}
trace(mail_checker("tut@grod.net"));
trace(mail_checker("tutgrodnet"));

etc
17.05.2007, 23:22
Stroganov Vladimir K., оформите код в своем посте тегами .

BigDan
17.05.2007, 23:33
if (str_arr[i]="@") {
if (str_arr[i]=="@") {

Kikasso
18.05.2007, 10:05
function mail_checker(str) {
if(str.length < 6)return false;
var a = str.indexOf('@');
var d = str.lastIndexOf('.');
return a>0 && a<d && d<(str.length - 2);
}
function checkIt( str ){ trace("checkIt(" + str + ");\t// " + mail_checker(str) ); }
checkIt(tut@grod.net); // true
checkIt(tutgrod.net); // false
checkIt(tut@grodnet); // false
checkIt(tut@grod.et); // true
checkIt(tut.@.grodnet); // true
checkIt(tutgrod.net); // false
checkIt(tu.t@grodnet); // false
checkIt(tut@grodne.t); // false

Вот проверка чуть получше, но не бест.
Что на это счет говорят стандарты?

googleavast
18.05.2007, 11:45
Скажу немного иными словами.
Знак == надо прописывать в if для того, чтоб флэш сравнивал, а когда знак = он присваивает переменной в if значение!

Kikasso
18.05.2007, 12:04
Тоже скажу другими словами. Найти букву в строке проще, чем в массиве.