用戶名和密碼的正則表達式驗證

簡單的正則表達式例子:正則表達式

/** 
* @ClassName: RexTest 
* @Description: TODO
* @author BMR
* @date 2016年3月28日 上午11:09:17 
*/
public class RexTest {
    /**
     * 正則表達式驗證暱稱
     * @param nickName
     * @return
     */
    public static boolean rexCheckNickName(String nickName) {
        // 暱稱格式:限16個字符,支持中英文、數字、減號或下劃線
        String regStr = "^[\\u4e00-\\u9fa5_a-zA-Z0-9-]{1,16}$";
        return nickName.matches(regStr);
    }

    /**
     * 正則表達式驗證密碼
     * @param input
     * @return
     */
    public static boolean rexCheckPassword(String input) {
        // 6-20 位,字母、數字、字符
        //String reg = "^([A-Z]|[a-z]|[0-9]|[`-=[];,./~!@#$%^*()_+}{:?]){6,20}$";
        String regStr = "^([A-Z]|[a-z]|[0-9]|[`~!@#$%^&*()+=|{}':;',\\\\[\\\\].<>/?~!@#¥%……&*()——+|{}【】‘;:」「’。,、?]){6,20}$";
        return input.matches(regStr);
    }
    
    public static void main(String[] args){
        System.out.println("rexCheckPassword is: "+ rexCheckPassword("14`~!@#$%^&*(\\)+=|{}"));
        System.out.println("rexCheckNickName is: "+ rexCheckNickName("中英文-數字_減號或下劃線"));
        System.out.println("rexCheckNickName is: "+ rexCheckNickName("12文、數字、@"));
    }

輸出結果:工具

rexCheckPassword is: true
rexCheckNickName is: true
rexCheckNickName is: falsespa

到底什麼是正則表達式?
在編寫處理字符串的程序或網頁時,常常有查找符合某些複雜規則的字符串的須要。正則表達式就是用於描述這些規則的工具。換句話說,正則表達式就是記錄文本規則的代碼。
經常使用元字符
代碼 說明
. 匹配除換行符之外的任意字符
\w 匹配字母或數字或下劃線
\s 匹配任意的空白符
\d 匹配數字
\b 匹配單詞的開始或結束
^ 匹配字符串的開始
$ 匹配字符串的結束
經常使用限定符
代碼/語法 說明
* 重複零次或更屢次
+ 重複一次或更屢次
? 重複零次或一次
{n} 重複n次
{n,} 重複n次或更屢次
{n,m} 重複n到m次
經常使用反義詞
代碼/語法 說明
\W 匹配任意不是字母,數字,下劃線,漢字的字符
\S 匹配任意不是空白符的字符
\D 匹配任意非數字的字符
\B 匹配不是單詞開頭或結束的位置
[^x] 匹配除了x之外的任意字符
[^aeiou] 匹配除了aeiou這幾個字母之外的任意字符
相關文章
相關標籤/搜索