检查输入互相jQuery

时间:2012-10-07 11:13:26

标签: jquery html css

我必须根据他们输入的电子邮件检查用户输入,以检查它们是否太相似,如果它们是我需要抛出错误。例如;

“用户名不能与电子邮件地址太相似,例如,如果电子邮件地址为charlie@hud.ac.uk,则用户名不能成为查理。”

我怎么能这样做?

编辑:我想查看电子邮件地址第一部分的用户名,@

之前的部分

3 个答案:

答案 0 :(得分:2)

var email, username;
if (username === email.split('@')[0]) {
  alert('failed');
}

这会将用户名与电子邮件的用户名部分进行比较。

修改 的 关键是你可以通过email.split('@')[0]从电子邮件中获取用户名部分,然后由你定义相似之处。

function is_similar (str1, str2) {
    // implement your similar logic here
    // return true or false
}

答案 1 :(得分:0)

function checkUsernameAndEmail(){

    var email = document.getElementById("email").value;
    var user = document.getElementById("username").value;
    // check to see if the email contains the username in anypart
    if(email.split("@")[0].toLowerCase().indexOf(user.toLowerCase() ) > -1){
      alert("Email address cannot contain the username");
      return false;
    }

    return true;

}

答案 2 :(得分:0)

我想在此扩展现有答案。你说这是一项任务,但是在许多应用程序中都可以看到这一要求 - 这里的答案对于在生产中实现此功能的用户仍然有用。

首先要做的是定义你认为“相似”的东西。例如,大/小的情况。 bob是否与BoB太相似了?在我看来是的。所以我们要做的第一件事就是将所有字符串转换为相同的情况。在JavaScript中,您有toLowerCase()。您可能还会确定某些符号不会更改字符串,因此会忽略它们。例如,bobb.ob非常相似。对于这种情况,您可能希望删除那些“无意义”的符号。使用JavaScript,您可以使用replace()

在实施条件之前必须确定法律。

这里要做的最后一点是您正在执行客户端验证。如果用户禁用JavaScript或更改页面上的代码,则可以轻松绕过在JavaScript中完成的任何验证。验证此类应该始终在服务器上完成。您可以将客户端验证留在那里以改善用户体验,也不会向服务器发送明显无效的请求。