为什么这段代码有效?我想获取输入变量并从中获取电子邮件。虽然不行。有人能帮助我吗?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript">
var email = /[a-z0-9\.&%]+@(?:[a-z1-9\-]+\.)+[a-z]{2,4}/i;
var input = "hi4d@gmail.com@gmail.com text here shaagd4@@fdfdg.ct hefds@4564dh-dsdgd.ly";
var testout = true;
var output;
while(testout === true)
{
var execoutput = email.exec(input);
testout = email.test(input);
if(!output) {output = '';}
if(testout === true)
{
output += "<p>An email found was: " + execoutput[0] + ".</p>";
input = input.substring(execoutput[0].length);
}
}
document.write(output);
</script>
</head>
<body>
</body>
</html>
答案 0 :(得分:1)
试试这个:(on jsfiddle)
var email = /[a-z0-9\.&%]+@(?:[a-z0-9\-]+\.)+[a-z]{2,4}/i;
var input = "hi4d@gmail.com@gmail.com text here shaagd4@@fdfdg.ct hefds@4564dh-dsdgd.ly";
var output = '';
for (;;) {
var execoutput = email.exec(input);
if (!execoutput) {
break;
}
output += "<p>An email found was: " + execoutput[0] + ".</p>";
input = input.substring(execoutput.index + execoutput[0].length);
}
document.write(output);
请注意我纠正的一些问题:
答案 1 :(得分:0)
正如评论中所提到的,代码有效。
然而,应该注意到我只是将你的代码直接插入到我当前的项目中(对于搞砸了东西!)并且它也可以正常工作。然而,它不是正确的,也没有提供我怀疑你想要的正确输出。