在textarea中检查电子邮件数据时出现奇怪的jquery错误

时间:2015-03-17 07:38:21

标签: javascript jquery html email

好的,所以我有一个来自jsfiddle的工作示例,我无法开始工作。我昨天使用了代码,现在它根本不起作用。

代码应检查重复的电子邮件,并从第一个textarea中提取电子邮件到第二个。

Jsfiddle与工作样本的链接: http://jsfiddle.net/49fkexu9/

我在网站上使用完全相同的代码,但是它总是说文本中没有电子邮件。

任何人都可以在代码中看到错误吗?

我的网站: http://truelads.com/email-extractor/

我的HTML代码:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <textarea id="email-extractor" class="email-extractor-textarea"></textarea>
<textarea id="email-extracted" class="email-extractor-textarea"></textarea>

我的Jquery代码:

function extractEmails(text) {
    return text.match(/([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9._-]+)/gi);
}

function eliminateDuplicates(arr) {
    var i;
    var len = arr.length;
    var out = [];
    var obj = {};

    for (i = 0; i < len; i++) {
        obj[arr[i]] = 0;
    }
    for (i in obj) {
        out.push(i);
    }
    return out;
}

var emailsFullList = [];

$('#email-extractor').keyup(function (index) {
    var emails = extractEmails($(this).val());
    console.log(emails);
    if (!emails) {
        $('#email-extracted').val('No emails found in text');
    } else if (emails.length < 2000) {
        var text = '';
        for (var i = 0; i < emails.length; i++) {
            text += emails[i] + ', ';
        }
        emailsFullListCheck = emailsFullList.concat(emails);
        emailsFullListNone = eliminateDuplicates(emailsFullListCheck);
        $('#email-extracted').val(emailsFullListNone);
    } else {
        $('#email-extracted').val('Please allow a max-limit of 2000 emails (' + emails.length + ').');
    }
});

1 个答案:

答案 0 :(得分:0)

您有一个标识为email-extractor的部分和一个标识为email-extractor的文本区域。您需要更改其中一个,然后确保您的js与您要定位的js对齐