如何验证以逗号分隔的电子邮件地址,并将电子邮件地址限制为成角度?

时间:2018-10-11 12:17:37

标签: javascript regex angular typescript

我仅需要在文本框中输入50个电子邮件地址。我正在使用正则表达式来验证电子邮件地址,因为我也必须限制域名。现在卡住的是,我无法编写验证信息以将条目限制为最多50个电子邮件地址。

emailPattern = /^\w+([-+.']\w+)*@abc.com(, ?\w+([-+.']\w+)*@abc.com)*$/;

请在下面的链接中引用我的代码。

https://stackblitz.com/edit/angular-wfwfow

2 个答案:

答案 0 :(得分:0)

电子邮件地址只能包含字母数字字符和特殊符号!#$%’* +-/ =?^ _`{|}〜。请注意,逗号不是有效的地址部分。

这样,最简单的方法是简单地将字符串拆分为逗号,然后评估每个地址。您可以同时限制或减少地址数量。看来您的代码已经用逗号分开了,所以一旦完成,您就可以执行以下操作:

10-11 08:34:43.954: I/VidyoClinetLib(7103): 10-11 08:34:43.965 INFO  AppGui        GuiOnOutEvent NDKMETHOD License Error: errorid=0 vmConnectionPath=1 OutOfLicense=1 Result=21324 Fault=32 [ VidyoClientVcsoapThread_3, <unknown func>, app/src/main/jni/ndkVidyoSample.c:64 ]

答案 1 :(得分:0)

@angular/forms中有一个电子邮件验证器。

您可以从电子邮件验证器source获取正则表达式:

var items = (from a in allRows
                     where accessories == true ?  a["MASTERID"].ToString() != "": true &&
                      (a["ITEMNO"].ToString() != a["NEWITEMNO"].ToString()) ||
                      (a["LABEL"].ToString() != a["NEWVISITEMNO"].ToString())
                select new ItemsToUpdate
                {
                    isAccessory = accessories,
                    Item = a
                }
            ).ToList();

或者简单地使用它为多封电子邮件创建自定义验证器:

<?php
    include 'config.php';
    extract($_POST);
    $sql="SELECT * FROM 'admin' WHERE 'username'='$username' AND 'password'='".md5($password)."'";
    $result=mysqli_query($sql) or die(mysql_error());
    if (mysqli_num_rows($result)) {
        echo "login success";
    }
    else {
        echo "login failed";
    }

然后使用自定义验证器:

const EMAIL_REGEXP =
    /^(?=.{1,254}$)(?=.{1,64}@)[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+(\.[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+)*@[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?(\.[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?)*$/;

Here is a fork of your code with the suggestion solution.