我有一个联系表单,我将用JS验证。 我想要一个函数循环遍历所有输入,并通过搜索“@”符号来确定哪一个是电子邮件,然后将其分配给稍后要处理的变量。
我已经为每个输入框初始化了变量,并将它们分配为输入数组中的值。 我已经通过他们循环并检查它们与正则表达式(一个简单的a-z字母检查),只是为了确保他们都输入了内容。
如果它们与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;
}
}
}
}
答案 0 :(得分:0)
这段代码的问题在于你有(i = 0; i&lt; = input.length; i ++)试图一次传递数组中的元素数。摆脱制作它的等号(i = 0; i&lt; input.length; i ++)你应该没问题。