我认为很多人之前都做过一些类似的开发任务:

我想检查人们的电子邮件地址是否仅匹配@ tomtom.com或@ stream.com。

目前,我有两种解决方案:

  • 使用indexof()函数
    var checkTomTomEmail=eo.data.username.indexOf("@tomtom.com");
    var checkStreamEmail=eo.data.username.indexOf("@stream.com");
    
    
    if (checkTomTomEmail >0 || checkStreamEmail >0 )
    {
        //Run the login code
    }
    
    
    Else
    {
        //Please login with your tomtom or stream email
    }
    
  • 使用匹配
    var patt1=/@tomtom.com/gi;
    var patt2=/@stream.com/gi;
    var checkTomTomEmail=eo.data.username.match(patt1);
    var checkStreamEmail=eo.data.username.match(patt2);
    
    
    if(indexOf(checkTomTomEmail)> 1 ||indexOf (checkStreamEmail)>1)
    {
        //Login
    }
    

  • 我仍然认为我还没有考虑所有细节。有什么建议么?
    谢谢

    最佳答案

    也许如果只允许人们输入这两个地址的电子邮件,则应该只收集用户名,然后允许他们使用单选按钮选择@ tomtom.com或@ stream.com。

    如果您仍然想使用javascript路线,则可以将您的正则表达式合并为一个语句

    var emailPatt=/@(tomtom|stream).com/gi;
    
    if(emailPatt.test(eo.data.username))
    {
        //Login
    }
    

    09-25 17:38