1。^\d+$ //匹配非負整數(正整數 + 0)
2。^[0-9]*[1-9][0-9]*$ //匹配正整數
3。^((-\d+)|(0+))$ //匹配非正整數(負整數 + 0)
4。^-[0-9]*[1-9][0-9]*$ //匹配負整數
5。^-?\d+$ //匹配整數
6。^\d+(\.\d+)?$ //匹配非負浮點數(正浮點數 + 0)
7。^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$ //匹配正浮點數
8。^((-\d+(\.\d+)?)|(0+(\.0+)?))$ //匹配非正浮點數(負浮點數 + 0)
9。^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$ //匹配負浮點數
10。^(-?\d+)(\.\d+)?$ //匹配浮點數
11。^[A-Za-z]+$ //匹配由26個英文字母組成的字符串
12。^[A-Z]+$ //匹配由26個英文字母的大寫組成的字符串
13。^[a-z]+$ //匹配由26個英文字母的小寫組成的字符串
14。^[A-Za-z0-9]+$ //匹配由數字和26個英文字母組成的字符串
15。^\w+$ //匹配由數字、26個英文字母或者下劃線組成的字符串
16。^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$ //匹配email地址
17。^[a-zA-z]+://匹配(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$ //匹配url
18。匹配中文字符的正則表達式: [\u4e00-\u9fa5]
19。匹配雙字節字符(包括漢字在內):[^\x00-\xff]
20。應用:計算字符串的長度(一個雙字節字符長度計2,ASCII字符計1)
String.prototype.len=function(){return this.replace([^\x00-\xff]/g,"aa").length;}
21。匹配空行的正則表達式:\n[\s| ]*\r
22。匹配HTML標記的正則表達式:/<(.*)>.*<\/\1>|<(.*) \/>/
23。匹配首尾空格的正則表達式:(^\s*)|(\s*$)
* 正則表達式用例
* 1、^\S+[a-z A-Z]$ 不能為空 不能有空格 只能是英文字母
* 2、\S{6,} 不能為空 六位以上
* 3、^\d+$ 不能有空格 不能非數字
* 4、(.*)(\.jpg|\.bmp)$ 只能是jpg和bmp格式
* 5、^\d{4}\-\d{1,2}-\d{1,2}$ 只能是2004-10-22格式
* 6、^0$ 至少選一項
* 7、^0{2,}$ 至少選兩項
* 8、^[\s|\S]{20,}$ 不能為空 二十字以上
* 9、^\+?[a-z0-9](([-+.]|[_]+)?[a-z0-9]+)*@([a-z0-9]+(\.|\-))+[a-z]{2,6}$郵件
* 10、\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*([,;]\s*\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*)* 輸入多個地址用逗號或空格分隔郵件
* 11、^(\([0-9]+\))?[0-9]{7,8}$電話號碼7位或8位或前面有區號例如(022)87341628
* 12、^[a-z A-Z 0-9 _]+@[a-z A-Z 0-9 _]+(\.[a-z A-Z 0-9 _]+)+(\,[a-z A-Z 0-9 _]+@[a-z A-Z 0-9 _]+(\.[a-z A-Z 0-9 _]+)+)*$
* 只能是字母、數字、下劃線;必須有@和.同時格式要規范 郵件
* 13 ^\w+@\w+(\.\w+)+(\,\w+@\w+(\.\w+)+)*$上面表達式也可以寫成這樣子,更精練。
14 ^\w+((-\w+)|(\.\w+))*\@\w+((\.|-)\w+)*\.\w+$
Java Apache 企業郵件服務(又名:Apache James) 是利用純java編寫的,支持SMTP和POP3郵件服務和NNTP新聞服務,是完整和便攜的企業級郵件引擎解決方案。James當前基于可用的開放協議。
James Server也是一個郵件應用平臺。James工程同時開發Apache Mailet API,并且James Server 是一個Mailet容器,這點使得郵件處理更容易設計,編寫和部署自定義的應用程序。模塊化和自定義是James的優點,它允許管理員去創建強大易用的應用程序。
James構建在Avalon Application Framework,這個框架促進了許多開發實踐,例如面向組件開發和IOC。James囊括了Phoenix Avalon Framework container,它為James server奠定了強大和穩定的基礎。
這篇文檔介紹了James的概念和James的實現,還有安裝、配置手冊,為開發人員build James Server。
I. James 概念
摘要(summary):
--The James Server
James 是一個開源項目,為了創建一個堅固,靈活,強大的企業類服務,并可提供郵件和郵件相關的服務.也被設計為高可定制性,允許管理員去靈活配置James.
James Server 是構建在Avalon Framework上的.標準的James發行版本包括了Phoenix Avalon Framework 容器.除了為James提供堅固的服務架構,Phoenix 的使用允許James管理員去部署它們自己的應用程序到容器中.這些應用程序在郵件處理過程中能被調用.
James server的實現由一些完整的服務集合和相關的組件構成,集成在一起,實現郵件解決方案.這些組件描述如下.
--POP3 Service
POP3 協議允許用戶去獲取郵件消息,普遍用于客戶端下載和管理郵件信息.
James是POP3服務的一個簡單直接實現,它與規范一致并且最大化兼容通用的POP3客戶端.此外,James能讓POP3客戶端使用SSL/TLS連接.
--SMTP Service
SMTP是在internet上發送和轉移emali的標準方法.James提供基于SMTP規范所有功能的實現,支持一些可選特性,例如消息大小限制,SMTP驗證,加密的 客戶/服務器 通信.
--NNTP Service
NNTP用于客戶端從新聞服務器存儲和獲取消息.James通過實現NNTP規范實現了服務的交互,還有為存儲新聞消息所提供的倉庫.James簡單和直接的實現,但支持一些額外的特性,例如NNTP驗證,加密的 客戶/服務器 通信.
--FetchMail
FetchMail ,不像其他的James組件,這不是一個RFC的實現.然而,這個組件允許管理去配置James,能夠從更多的POP3服務獲取Email和轉移郵件到本地.這方便在不同的機器上的多個賬戶合并郵件轉移到一個用戶(This is useful for consolidating mail delivered to a number of accounts on different machines to a single account.)
---The SpoolManager, Matchers, and Mailets
當James處理收來的郵件時,James從引擎上區分不同的服務(SMTP,FecthMail)來轉移郵件.SpoolManager 組件是James的郵件處理引擎.James的SpoolManager組件是一個Mailet容器,It is these mailets and matchers that actually carry out mail processing.
--Repositories
James有許多不同的倉庫去存儲消息數據(email,news messages) 和用戶信息.用戶倉庫存儲用戶信息,包括用戶名驗證信息和別名.郵件倉庫存儲已被轉移的消息.Spool倉庫存儲正在被處理的消息.最后,新聞倉庫被用作存儲新聞消息.另外,他們存儲什么類型的數據,倉庫以數據存儲在什么地方來區分.有3種存儲類型--File,Database 和DBFile.
--RemoteManager
James提供一個簡單的telnet-base 控制接口,通過這個接口你能添加和刪除用戶,配置每個用戶的別名和forward addresses和停止服務.
五項溝通原則 Interaction Guidelines
(一)、維護自尊 加強自信; KP1:Maintain or enhance self-esteem
(二)、仔細聆聽 善意回應; KP2:Listen and respond with empathy
(三)、謀求協助 促進參與; KP3:Ask for help and encourage involvement
(四)、分享感受 傳情達理; KP4:Share thoughts, feelings, and rationale
(五)、給予支持 鼓勵承擔; KP5:Provide support without removing responsibility
目標管理的SMART原則,即是:
1. 目標必須是具體的(Specific);
2. 目標必須是可以衡量的(Measurable);
3. 目標必須是可以達到的(Attainable);
4. 目標必須和其他目標具有相關性(Relevant);
5. 目標必須具有明確的截止期限(Time-based);