簡體   English   中英

5個逗號分隔的電子郵件ID的正則表達式

[英]Regular expression for 5 comma separated email id

我試圖在一個正則表達式中驗證5個逗號分隔的電子郵件ID。 我在下面使用正則表達式

^([\w+-.%]+@[\w-.]+\.[A-Za-z]{2,4},?)+$

這對於一個電子郵件ID有效。

我想知道如何實現相同的目標,對同一目標的任何小投入也將不勝感激。

提前致謝。

首先,修復模式: -在字符類中的兩個字符之間形成一個范圍。 因此,您的正則表達式的電子郵件部分應為[-\\w+.%]+@[\\w-.]+\\.[A-Za-z]{2,4} (請注意-在第一個字符中的位置類,在第二種情況下,可以將其放在速記字符類\\w和下一個字符之間)。

接下來,要匹配1到5個逗號分隔的電子郵件,您需要匹配第一個,然后匹配0到4個電子郵件。 並在模式周圍添加錨點,以確保模式與整個字符串匹配:

^[-\w+.%]+@[\w-.]+\.[A-Za-z]{2,4}(?:,[-\w+.%]+@[\w-.]+\.[A-Za-z]{2,4}){0,4}$

基本上, ^<EMAIL>(?:,<EMAIL>){0,4}$

  • ^ -字符串的開頭
  • <EMAIL> -您的電子郵件格式
  • (?: -一個非捕獲組的開始,它充當一系列模式的容器:
    • , -逗號
    • <EMAIL> -您的電子郵件格式
  • ){0,4} -上述序列中零到四次出現
  • $ -字符串結尾。

另一個想法是使用拆分,然后驗證:

 var s = "abc@gg.com,abc2@gg.com,abc3@gg.com,abc4@gg.com,abc5@gg.com"; var re = /^[-\\w+.%]+@[\\w-.]+\\.[A-Za-z]{2,4}$/; var items = s.split(","); if (items.length <= 5 && items.filter(function(x) { return re.test(x); }).length === items.length ) { console.log("VALID => ", items); } else { console.log("INVALID!"); } 

在Java腳本的正則表達式下,您可以使用多個逗號分隔的電子郵件ID,希望此功能對您有用

/^(\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]{2,4}\s*?,?\s*?)+$/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM