簡體   English   中英

Email 地址驗證正則表達式

[英]Email Address Validation Regex

所以我想設置一個具有以下約束的 Email 地址驗證正則表達式......
參考: α @ β γ

對於α
1) 僅包含az 0-9 . - _
2) 包含 1 到 30 個字符(含)
3) 不能以 . 開頭或結尾. - _
4) 不能有 2 個連續的符號(超出. - _

對於β
1) 只包含az 0-9 -
2) 包含 2 到 14 個字符(含)
3) 不能以-開頭或結尾
4) 不能有 2 個連續的-在里面

對於γ
1) 只包含az
2) 包含 2 到 4 個字符(含)

==================================================== ==========================

每個的前兩個約束很容易實現,所以我做了,如下
([a-z0-9.\-_]{1,30})@([a-z0-9\-]{2,14}).([az]{2,4})

誰能幫我解決αβ的(2)和(3)

您可以使用

/^(?=[^@]{1,30}@)[a-z0-9]+(?:[._-][a-z0-9]+)*@(?=.{2,14}\.[a-z]+$)[a-z0-9]+(?:-[a-z0-9]+)*\.[a-z]{2,4}$/

查看正則表達式演示

細節

  • ^ - 字符串的開頭
  • (?=[^@]{1,30}@) - 在@之前允許 1 到 30 個字符
  • [a-z0-9]+ - 1+ 小寫字母和數字
  • (?:[._-][a-z0-9]+)* - 0 次或多次出現. , _-后跟 1+ 小寫字母或數字
  • @ - 一個@字符
  • (?=.{2,14}\.[az]+$) - 緊靠右邊,必須有 2 到 14 個字符,然后. 和 1+ 個小寫字母直到字符串結尾
  • [a-z0-9]+(?:-[a-z0-9]+)* - 1+ 小寫字母和數字,然后出現 0 次或多次連字符,后跟 1+ 小寫字母或數字
  • \. - 一個點
  • [az]{2,4} - 兩到四個小寫字母
  • $ - 字符串結束。

暫無
暫無

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

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