正則表達式---------匹配電子郵箱或者電子郵件地址

来源:http://www.cnblogs.com/liuhongfeng/archive/2016/03/06/5230824.html
-Advertisement-
Play Games

匹配電子郵箱正則匹配表達式: /^[a-z]([a-z0-9]*[-_]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[\.][a-z]{2,3}([\.][a-z]{2})?$/i 國際功能變數名稱格式如下:功能變數名稱由各國文字的特定字元集、英文字母、數字及“-”(即連字元或減號


 

匹配電子郵箱正則匹配表達式:

/^[a-z]([a-z0-9]*[-_]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[\.][a-z]{2,3}([\.][a-z]{2})?$/i

 

國際功能變數名稱格式如下:功能變數名稱由各國文字的特定字元集、英文字母、數字及“-”(即連字元或減號)任意組合而成, 但開頭及結尾均不能含有“-”,“-”不能連續出現 。 功能變數名稱中字母不分大小寫。功能變數名稱最長可達60個位元組(包括尾碼.com、.net、.org等)。 

說明:
①/內容/i 構成一個不區分大小寫的正則表達式;^ 匹配開始;$ 匹配結束。

②[a-z] E-Mail首碼必需是一個英文字母開頭

③([a-z0-9]*[-_]?[a-z0-9]+)* 和_a_2、aaa11、_1_a_2匹配,和a1_、aaff_33a_、a__aa不匹配,如果是空字元,也是匹配的,*表示0個或者多個。

④*表示0個或多個前面的字元.

⑤[a-z0-9]* 匹配0個或多個英文字母或者數字;[-_]? 匹配0個或1“-”,因為“-”不能連續出現。

⑥[a-z0-9]+ 匹配1個或多個英文字母或者數字,因為“-”不能做為結尾

⑦@ 必需有個有@

⑧([a-z0-9]*[-_]?[a-z0-9]+)+ 見上面([a-z0-9]*[-_]?[a-z0-9]+)*解釋,但是不能為空,+表示一個或者為多個。

⑨[\.] 將特殊字元(.)當成普通字元;[a-z]{2,3} 匹配2個至3個英文字母,一般為com或者net等。


⑩([\.][a-z]{2})? 匹配0個或者1個[\.][a-z]{2}(比如.cn等) 我不知道一般.com.cn最後部份是不是都是兩位的,如果不是請修改{2}為{起始字數,結束字數} 

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • //============================================================================ // Name : QuickSort.cpp // Author : Cheng Song // Version : // Copyrigh
  • //============================================================================ // Name : BubbleSort.cpp // Author : fffff // Version : // Copyright :
  • 1 /* 遍歷二叉樹就是以一定的規則將二叉樹中的節點排列成一個線性 2 * 序列,從而得到二叉樹節點的各種遍歷序列,其實質是:對一個 3 * 非線性的結構進行線性化。使得在這個訪問序列中每一個節點都 4 * 有一個直接前驅和直接後繼。 5 * 傳統的鏈式結構只能體現一種父子關係,¥不能直接得到節點在
  • 主要用於Web服務日誌最新行查看。 package main import( "fmt" "os" "bytes") const ( defaultBufSize = 4096) func tail( filename string, n int ) (lines []string,err erro
  • 文件操作介面類: package com.souvc.util.test; import java.io.File; public interface MyFileUtil { /** * 方法名:createDefaultFolder</br> * 詳述:創建預設文件夾-重覆的時候 會自動給文件命
  • const在C++中很常用,在編程中也建議多使用const去告訴編譯器和其他程式員某個值應該保持不變。 const可以用在很多地方: (1)用在classes外部修飾global或namespace作用域中的常量 (2)修飾文件、函數、或區塊作用域中被聲明為static的對象 (3)修飾classe
  • 「C語言」「例題」指針與鏈表
  • 變數: Python 是動態類型語言, 也就是說不需要預先聲明變數的類型。變數是對象的引用,變數只是將指針指向了對象所在的記憶體地址。變數的類型和值在賦值那一刻被初始化。 變數起名: 1.顯式-->通俗易懂 2.nums_of_alex_gf = 19 3.NumsOfAlexGf = 20 駝峰寫法
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...