正規表示式 必須包含數字,小寫,大寫,符號

2021-10-09 18:14:10 字數 856 閱讀 3539

直接進入主題

正規表示式:(?![a-za-z.]+$)(?![0-9a-z.]+$)(?![0-9a-z.]+$)(?![0-9a-za-z]+$)[0-9a-za-z.]

我感覺我寫的挺囉嗦的,但是實在是不知道怎麼優化,希望大佬們能給出簡潔的表示式,真的十分感謝

這裡可以拆分為5 截

1.(?![a-za-z.]+$):排除小寫,大寫,符號,剩餘 數字

2.(?![0-9a-z.]+$):排除數字,大寫,符號,剩餘 小寫

3.(?![0-9a-z.]+$):排除數字,小寫,符號,剩餘 大寫

4.(?![0-9a-za-z]+$):排除小寫,大寫,數字,剩餘 符號

5.[0-9a-za-z.]:輸入的字串,可以包含 數字,小寫,大寫,符號,且6位長度 至 八位長度

這裡主要講解最重要的元字元

官方解釋:

正向否定預查(negative assert),在任何不匹配pattern的字串開始處匹配查詢字串。這是乙個非獲取匹配,也就是說,該匹配不需要獲取供以後使用。例如"windows(?!95|98|nt|2000)"能匹配"windows3.1"中的"windows",但不能匹配"windows2000"中的"windows"。預查不消耗字元,也就是說,在乙個匹配發生後,在最後一次匹配之後立即開始下一次匹配的搜尋,而不是從包含預查的字元之後開始。

數字正規表示式

驗證數字的正規表示式集 驗證數字 0 9 驗證n位的數字 d 驗證數字有0到兩位小數 0 9 0 9 驗證至少n位數字 d 驗證m n位的數字 d 驗證零和非零開頭的數字 0 1 9 0 9 驗證有兩位小數的正實數 0 9 0 9 驗證有1 3位小數的正實數 0 9 0 9 驗證非零的正整數 1 9...

數字正規表示式

驗證數字的正規表示式集 驗證數字 0 9 驗證n位的數字 d 驗證至少n位數字 d 驗證m n位的數字 d 驗證零和非零開頭的數字 0 1 9 0 9 驗證有兩位小數的正實數 0 9 0 9 驗證有1 3位小數的正實數 0 9 0 9 驗證非零的正整數 1 9 0 9 驗證非零的負整數 1 9 0 ...

正規表示式匹配 包含且不包含

參考 例 包含admin且不包含abc。abc admin abc 查資料知道 pattern 負向預查,在任何不匹配 pattern 的字串開始處匹配查詢字串。這是乙個非獲取匹配,也就是說,該匹配不需要獲取供以後使用。例如 windows 95 98 nt 2000 能匹配 windows 3.1...