0

我有一个联系表格,我将使用 JS 进行验证。我想要一个函数来遍历所有输入,并通过在其中搜索“@”符号来确定哪一个是电子邮件,然后将其分配给稍后处理的变量。

我已经为每个输入框初始化了变量,并将它们分配为输入数组中的值。我已经遍历它们并根据正则表达式检查它们(简单的 az 字母检查),只是为了确保它们都输入了内容。

如果它们与 RegExp 匹配,那么我希望将它们传递给字符串搜索以查找 @ 符号以确定哪个是电子邮件输入。

这是我下面的代码,但它不起作用。谁能告诉我我哪里出错了?谢谢!

 var emailaddress;
function find_email() {
        var name = document.getElementById("username");
        var email = document.getElementById("email");
        var msg = document.getElementById("messagecontent");
        var racenum = document.getElementById("racenum");
        var input = [name, email, racenum, msg];

        for (i = 0; i <= input.length; i++) {
            var standard_check = /[a-zA-Z0-9]/g;
            if (input[i].value.match(standard_check)) {

                var str = input[i].value;
                str.search("@");
                if (str.match("@")) {
                   emailaddress= str;
                }
            }
        }
    }
4

1 回答 1

0

这段代码的问题是你有 for (i = 0; i <= input.length; i++) 它试图传递数组中的元素数。摆脱等于 (i = 0; i < input.length; i++) 的等于,你应该没问题。

于 2013-08-02T00:05:48.840 回答