re: web開發中的權限設計拙見一二 海思 2007-01-02 22:22
是否可以把16進制的權限判別代碼的相關代碼和文檔發份給我看看呢?
我最近也在研究權限部分,由于對這塊不熟,比較頭痛,謝謝
如果可以的話麻煩發份到我郵箱
chmk35@163.com
謝謝
re: 正則表達式 海思 2005-11-06 22:02
有些新手對正則表達式不是很熟悉,有必要在此作一簡單回顧。如果你是正則表達式高手,可以不用看這一部分。
正則表達式是描述字符串集的字符串。例如,正則表達式“Mic*”描述所有包含“Mic”,后跟零個或多個字符的字符串。Mickey、Microsoft、Michelangelo 或 Mic 本身都是例子。句號“.”匹配任何字符,“+”類似“*”,但至少要一個字符,所以“Mic+”匹配前述所有除“Mic”以外的串。[a-z]指一個匹配范圍,所以[a-zA-Z_0-9]匹配字母、數字或下劃線。Regex 稱之為單詞字符,可以將它寫成“\w”。所以“\w+”匹配至少有一個字符的單詞字符序列——換句話說,叫 C 符號(C tokens)。那么這樣一來,幾乎所有的C 符號都不能以數字開頭,因此,下面這個正則表達式是正確的:“^[a-zA-Z_]\w*$”。專用字符“^”意思是“以...開始”(除非它位于某個范圍之內,這時它的意思是“非”),“$”意思是“結尾”,那么“^[a-zA-Z_]\w*$”意思就是:以字母或下劃線開始的字母、數字或下劃線字符串。
正則表達式在對輸入進行有效性驗證時非常有用。\d 匹配數字,{n}匹配重復n次,于是 ^5\d{15}$ 匹配5開頭的16位數字,也即是說 MasterCard 信用卡號碼。那 ^[45]\d{15}$ 就是Visa 卡號,它以4開頭。你可以用大括弧對表達式進行分組,下面是個測試。這個表達式描述的是什么呢?^\d{5}(-\d{4}){0,1}$
提示:{0,1} 意思是重復0次或1次(可以縮寫成問號 ?)。想出來了嗎?該表達式意思是:五個數字后重復0次或1次(破折號后跟四個數字)。它匹配 02142和98007-4235,但不匹配 3245 或 2345-98761。這也就是美國的郵政編碼。大括弧將 ZIP+4 部分分組,所以{0,1}修飾符將應用于整個分組。