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


簡單的正則表達式例子:

/** 
* @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: false

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM