首页 > 解决方案 > If 语句 - 电子邮件验证/检查

问题描述

如果有验证电子邮件地址,我想检查输入。这是我使用的功能

function validateEmailAddress(input) {
    var regex = /[^\s@]+@[^\s@]+\.[^\s@]+/;
    if (regex.test(input)) {
        return 1;
    } else if (regex.test(input) == null  || regex.test(input) == ("")) {
        return 0;
    } else {
        return -1;
    }
}

这个函数在那里使用

savePerson: function () {
        $('#accountid').prop('disabled', false);
        let email = $('#emailaddresses').val();

        if (validateEmailAddress(email) == -1) {
            alert("This email isn't validate");
            return;
        }

所以我必须检查输入字段是否为空。如果发生这种情况,则应验证数据。如果输入字段不是像“dasfasf232”这样的电子邮件地址,它必须显示警报。仅当电子邮件有效时(例如包含 @ 和点)。目前,当电子邮件字段为空时,我会收到警报。但这不应该发生。

标签: javascriptfunctionvalidationemailif-statement

解决方案


我解决了我的问题。我遇到问题的那条线是不必要的。所以我删除了“else if”语句。现在看起来像这样

function validateEmailAddress(input) {
    var regex = /[^\s@]+@[^\s@]+\.[^\s@]+/;
    if (regex.test(input)) {
        return 1;
    } else {
        return -1;
    }
}

现在在另一部分中,我检查输入的电子邮件是否不为空,以及 (&&) 电子邮件是否为 -1(电子邮件无效时的值)。如果其中之一为真,则 if 语句会显示警报。

 savePerson: function () {
        $('#accountid').prop('disabled', false);
        let email = $('#emailaddresses').val();

        if (email !== "" && validateEmailAddress(email) === -1) {
            alert("Use a valid emailaddress");
            return;
        }

现在,即使电子邮件输入字段为空,我也可以将数据保存在数据库中。


推荐阅读