国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Java密碼校驗(yàn)(正則表達(dá)式):密碼由這四種元素組成(數(shù)字、大寫字母、小寫字母、特殊字符),且必須包含全部四種元素;密碼長度大于等于8個字符。

這篇具有很好參考價值的文章主要介紹了Java密碼校驗(yàn)(正則表達(dá)式):密碼由這四種元素組成(數(shù)字、大寫字母、小寫字母、特殊字符),且必須包含全部四種元素;密碼長度大于等于8個字符。。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

1. 需求

對用戶密碼的強(qiáng)度進(jìn)行校驗(yàn),要求用戶密碼達(dá)到一定的強(qiáng)度,符合安全性要求。

1.1. 基礎(chǔ)版需求

密碼必須由字母和數(shù)字組成(同時包括數(shù)字和數(shù)字);密碼長度大于等于8個字符。

1.2. 進(jìn)階版需求

密碼由這四種元素組成(數(shù)字、大寫字母、小寫字母、特殊字符),且必須包含全部四種元素;密碼長度大于等于8個字符。

2. 基礎(chǔ)版解析

需求:密碼必須由字母和數(shù)字組成(同時包括數(shù)字和數(shù)字);密碼長度大于等于8個字符。

2.1. 原理

使用正則表達(dá)式校驗(yàn)字符串。

正則表達(dá)式構(gòu)建思路(負(fù)向預(yù)查模式):

  1. 字符為數(shù)字或字母;
  2. 不能全是數(shù)字;
  3. 不能全是字母;
  4. 字符數(shù)量大于等于8.

2.2. 核心代碼

package org.example;

import java.util.regex.Pattern;

/**
 * 密碼校驗(yàn)器。
 */
public class PasswordValidator {

    /**
     * 密碼由數(shù)字和下劃線組成,且大于等于8個字符。
     */
    public static boolean isCharacterAndNumber(String password) {
        String pattern = "^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,}$";
        return Pattern.matches(pattern, password);
    }
    
}

2.3. 正則表達(dá)式含義解析

含義 正則表達(dá)式
字符串開頭 ^
字符為數(shù)字或字母 [0-9A-Za-z]
不全是數(shù)字 (?![0-9]+$)
不全是字母 (?![a-zA-Z]+$)
字符數(shù)量大于等于8 {8,}
字符串結(jié)尾 $

2.4. 測試用例

2.4.1. 示例代碼

package org.example;

public class TestBase {
    public static void main(String[] args) {

        isValid("");
        isValid("中文");
        isValid("abc-1234567");
        isValid("1234567");
        isValid("abc");
        isValid("zzz111");


        isValid("zzz12345");
        isValid("abc1234567");
        isValid("abc12345bbb");
    }

    private static void isValid(String text) {
        System.out.println(text + " === " + PasswordValidator.isCharacterAndNumber(text));
    }


}

2.4.2. 運(yùn)行結(jié)果

java密碼正則,java

3. 進(jìn)階版解析

需求:密碼由四種元素組成(數(shù)字、大寫字母、小寫字母、特殊字符),且必須包含全部四種元素;密碼長度大于等于8個字符。

3.1. 原理

使用正則表達(dá)式校驗(yàn)字符串。

正則表達(dá)式構(gòu)建思路(負(fù)向預(yù)查模式):

  1. 密碼只包含數(shù)字、大寫字母、小寫字母和特殊字符;
  2. 不全是 數(shù)字,或大寫字母,或小寫字母;
  3. 不全是 數(shù)字,或大寫字母,或特殊字符
  4. 不全是 數(shù)字,或小寫字母,或特殊字符;
  5. 不全是 大寫字母,或小寫字母,或特殊字符;
  6. 字符數(shù)量大于等于8.

3.2. 核心代碼


import java.util.regex.Pattern;

/**
 * 密碼校驗(yàn)器。
 */
public class PasswordValidator {

    /**
     * 密碼由四種元素組成(數(shù)字、大寫字母、小寫字母、特殊字符),且必須包含全部四種元素;密碼長度大于等于8個字符。
     */
    public static boolean isValid(String password) {
        // 正則表達(dá)式的內(nèi)容如下:
        // ^(?![0-9A-Za-z]+$)(?![0-9A-Z\W]+$)(?![0-9a-z\W]+$)(?![A-Za-z\W]+$)[0-9A-Za-z~!@#$%^&*()__+`\-={}|[\]\\:";'<>?,./]{8,}$
        // 在 Java 中使用,需要轉(zhuǎn)義;轉(zhuǎn)義后的結(jié)果如下。
        String pattern = "^(?![0-9A-Za-z]+$)(?![0-9A-Z\\W]+$)(?![0-9a-z\\W]+$)(?![A-Za-z\\W]+$)[0-9A-Za-z~!@#$%^&*()_+`\\-={}|\\[\\]\\\\:\";'<>?,./]{8,}$";
        return Pattern.matches(pattern, password);
    }

}

3.3. 正則表達(dá)式含義解析

含義 正則表達(dá)式
字符串開頭 ^
密碼只包含數(shù)字、大寫字母、小寫字母和特殊字符 [0-9A-Za-z~!@#$%^&*()_+`-={}|[]\:";'<>?,./]
不全是 數(shù)字,或大寫字母,或小寫字母; (?![0-9A-Za-z]+$)
不全是 數(shù)字,或大寫字母,或特殊字符; (?![0-9A-Z\W]+$)
不全是 數(shù)字,或小寫字母,或特殊字符; (?![0-9a-z\W]+$)
不全是 大寫字母,或小寫字母,或特殊字符 (?![A-Za-z\W]+$)
字符數(shù)量大于等于8 {8,}
字符串結(jié)尾 $

3.4. 測試用例

3.4.1. 示例代碼

public class TestComplex {

    public static void main(String[] args) {
        isValid("");
        isValid("中文");
        isValid("123456789");
        isValid("aaabbbccc");
        isValid("AAABBBCCCabc");
        isValid("AAAbbb123");
        isValid("abcABC1@中文");
        isValid("aB1@");

        isValid("abcABC1@");
        isValid("aaaBBB111@");
        isValid("aaabbbBBB111~!@#$%^&*()_+=-`{}|[]\\:\";'<>?,./");
    }

    private static void isValid(String text) {
        System.out.println(text + " === " + PasswordValidator.isValid(text));
    }

}

3.4.2. 運(yùn)行結(jié)果

java密碼正則,java

4. Gitee示例項目(idea)

密碼校驗(yàn)器Demo

5. 參考

java正則校驗(yàn),密碼必須由字母和數(shù)字組成

幾種常見的密碼校驗(yàn)正則表達(dá)式文章來源地址http://www.zghlxwxcb.cn/news/detail-692948.html

到了這里,關(guān)于Java密碼校驗(yàn)(正則表達(dá)式):密碼由這四種元素組成(數(shù)字、大寫字母、小寫字母、特殊字符),且必須包含全部四種元素;密碼長度大于等于8個字符。的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 使用正則表達(dá)式設(shè)置強(qiáng)密碼

    強(qiáng)密碼需要同時含有大寫字母、小寫字母、數(shù)字、特殊符號。 這邊先展示我自己寫的。 以上代8位以上的強(qiáng)密碼。 下面是具體解析: 正則表達(dá)式測試工具里可以自行檢測寫的對不對 目前較為簡便的一種使用方法是搭配ApiModel和Pattern對變量進(jìn)行配置。 如

    2024年02月14日
    瀏覽(23)
  • js 正則表達(dá)式 校驗(yàn) input輸入框 輸入格式必須為日期yyyyMM

    要使用正則表達(dá)式校驗(yàn) input 輸入框的輸入格式是否為日期格式 “yyyyMM”,你可以使用以下 JavaScript 正則表達(dá)式: 這個正則表達(dá)式匹配的是四位數(shù)年份和兩位數(shù)月份,確保輸入的格式為 “yyyyMM”。 以下是一個使用這個正則表達(dá)式的例子: 在這個例子中,當(dāng)用戶在 input 輸入框

    2024年01月19日
    瀏覽(27)
  • Java 之正則表達(dá)式語法及常用正則表達(dá)式匯總

    Java 之正則表達(dá)式語法及常用正則表達(dá)式匯總

    正則表達(dá)式,又稱規(guī)則表達(dá)式。(英語:Regular Expression,在代碼中常簡寫為 regex、regexp 或 RE),計算機(jī)科學(xué)的一個概念。正則表達(dá)式通常被用來檢索、替換那些符合某個模式(規(guī)則)的文本。 正則表達(dá)式是對字符串(包括普通字符(例如,a 到 z 之間的字母)和特殊字符(稱

    2024年02月09日
    瀏覽(31)
  • JS正則驗(yàn)證密碼 英文大小寫+數(shù)字+特殊符號 的表達(dá)式。

    我處理的密碼策略如下: 包括大寫字母、小寫字母、數(shù)字和符號,這 4 種字符中的 3 種 可以使用四種類型的字符:大寫字母、小寫字母、數(shù)字和密碼。 字符數(shù)至少為 8位 使用的符號是“!@;:”(實(shí)際上,可以根據(jù)自己的情況來指定,我省略了它,因?yàn)樗勺儯?生成的正則

    2024年02月07日
    瀏覽(27)
  • Java正則表達(dá)式

    Java正則表達(dá)式

    正則表達(dá)式 能夠理解正則表達(dá)式的作用 能夠使用正則表達(dá)式的字符類 能夠使用正則表達(dá)式的邏輯運(yùn)算符 能夠使用正則表達(dá)式的預(yù)定義字符類 能夠使用正則表達(dá)式的限定符 能夠使用正則表達(dá)式的分組 能夠在String的split方法中使用正則表達(dá)式 在Java中,我們經(jīng)常需要驗(yàn)證一些

    2024年01月19日
    瀏覽(30)
  • 正則表達(dá)式(JAVA)

    正則表達(dá)式在用于 校驗(yàn)信息 是否 滿足某些規(guī)則 的時候,非常的好用 在 文本中查找 滿足要求的內(nèi)容 符號 作用 補(bǔ)充 [abc] 只能是a,b或c 匹配的一個字符只能是 [] 范圍內(nèi)的其中一個 [^abc] 除了a,b,c之外的任何字符 ^ 符號類似 非 [a-zA-Z] a到z A到Z ,包括范圍 - 作用是由…到… ,兩個或

    2024年02月10日
    瀏覽(35)
  • Java 正則表達(dá)式

    正則表達(dá)式的元字符可以大致分為六類: 限定符 選擇匹配符 分組組合和反向引用符 特殊字符 字符匹配符 定位符 轉(zhuǎn)義符 \\\\ 符號在檢索某些特殊字符的時候可以使用,否則檢索不到結(jié)果。 在Java中是 \\\\ ,而其他語言則是 。 一般 . * + ( ) $ / ? [ ] { } 都可能需要轉(zhuǎn)義符 符號

    2024年02月21日
    瀏覽(27)
  • 正則表達(dá)式(Java)

    正則表達(dá)式(Java)

    正則表達(dá)式是由一些特定的字符組成,代表一個規(guī)則,可以用來檢驗(yàn)數(shù)據(jù)格式是否合法,也可以在一段文本中查找滿足要求的內(nèi)容。 如果使用代碼檢驗(yàn)數(shù)據(jù)是否正確: 使用正則表達(dá)式: String提供了一個匹配正則表達(dá)式的方法:? 圖片來源heimait \\\\d才會當(dāng)成d使用 (?i)表示忽略大

    2024年02月20日
    瀏覽(24)
  • JAVA中正則表達(dá)式

    JAVA中正則表達(dá)式

    接下來,學(xué)習(xí)一個全新的知識,叫做正則表達(dá)式。 正則表達(dá)式其實(shí)是由一些特殊的符號組成的,它代表的是某種規(guī)則。 正則表達(dá)式的作用1:用來校驗(yàn)字符串?dāng)?shù)據(jù)是否合法 正則表達(dá)式的作用2:可以從一段文本中查找滿足要求的內(nèi)容 5.1 正則表達(dá)式初體驗(yàn) 現(xiàn)在,我們就以QQ號碼

    2024年01月20日
    瀏覽(23)
  • Java 正則表達(dá)式匹配

    正則表達(dá)式: 定義一個搜索模式的字符串。 正則表達(dá)式可以用于搜索、編輯和操作文本。 正則對文本的分析或修改過程為:首先正則表達(dá)式應(yīng)用的是文本字符串(text/string),它會以定義的模式從左到右匹配文本,每個源字符只匹配一次。 正則表達(dá)式 匹配 this is text 精確匹配

    2024年02月06日
    瀏覽(29)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包