vue 復雜密碼校驗

針對復雜密碼


checkPassword(rule, value, callback) {

      this.level = [];

      if (!value) {

        return callback("密碼不能為空");

      }

      if (value.length < 8) {

        return callback("密碼不少于8位");

      }

      if (value.length > 20) {

        return callback("密碼不大于20位");

      }

      // 校驗是數(shù)字

      const regex1 = /^\d+$/;

      // 校驗字母

      const regex2 = /^[A-Za-z]+$/;

      // 校驗符號

      const regex3 = /^[`~!@#$%^&*()_\-+=<>?:"{}|,.\/;'\\[\]·~创坞!@#¥%……&*()——\-+={}|《》暮顺?:“”【】、屡萤;‘',需了。喂分、]+$/;

      const isLowerCase = /^.*[a-z]+.*/;

      const isUpperCase = /^.*[A-Z]+.*/;

      const regEx = /^.*[^a-zA-Z0-9]+.*/;

      var num = 0;

      if (regex1.test(value)) {

        num = num + 1;

      }

      if (isLowerCase.test(value)) {

        num = num + 1;

      }

      if (isUpperCase.test(value)) {

        num = num + 1;

      }

      if (regEx.test(value)) {

        num = num + 1;

      }

      var numberSequence = false;

      for (var i = 0; i < value.length - 3; i++) {

        if (!regex1.test(value.substring(i, i + 1)) || !regex1.test(value.substring(i + 1, i + 2) + "") || !regex1.test(value.substring(i + 2, i + 3) + "") || !regex1.test(value.substring(i + 3, i + 4) + "")) {

          continue;

        }

        var no1 = Number(value.substring(i, i + 1));

        var no2 = Number(value.substring(i + 1, i + 2));

        var no3 = Number(value.substring(i + 2, i + 3));

        var no4 = Number(value.substring(i + 3, i + 4));

        if (no1 + 1 == no2 && no2 + 1 == no3 && no3 + 1 == no4) {

          numberSequence = true;

        }

        if (no2 + 1 == no1 && no3 + 1 == no2 && no4 + 1 == no3) {

          numberSequence = true;

        }

      }

      if (numberSequence) {

        // $.messager.alert("錯誤","密碼中不能包含有連續(xù)四位及以上順序(或逆序)數(shù)字(如:密碼中不能包含1234或3210等)。");

        // falg = '密碼中不能包含有連續(xù)四位及以上順序(或逆序)數(shù)字(如:密碼中不能包含1234或3210等';

        return callback('密碼中不能包含有連續(xù)四位及以上順序(或逆序)數(shù)字(如:密碼中不能包含1234或3210等');;

      }

      else if (num <= 2) {

        //$.messager.alert("錯誤","密碼復雜度不足,\n(1)大寫字母\n(2)小寫字母\n(3)數(shù)字\n(4)特殊符號\n密碼至少需包含上述情形中的三種.");

        // flag = '密碼復雜度不足,\n(1)大寫字母\n(2)小寫字母\n(3)數(shù)字\n(4)特殊符號\n密碼至少需包含上述情形中的三種';

        return callback('密碼復雜度不足,\n(1)大寫字母\n(2)小寫字母\n(3)數(shù)字\n(4)特殊符號\n密碼至少需包含上述情形中的三種');

      }

      else if (regex1.test(value)) {

        this.level.push("low");

        return callback("設置8至20位包含大小寫字母敬锐、數(shù)字、特殊符號的密碼");

      } else if (regex2.test(value)) {

        this.level.push("low");

        return callback("設置8至20位包含大小寫字母呆瞻、數(shù)字台夺、特殊符號的密碼");

      } else if (regex3.test(value)) {

        this.level.push("low");

        return callback("設置8至20位包含大小寫字母、數(shù)字痴脾、特殊符號的密碼");

      } else if (/^[A-Za-z\d]+$/.test(value)) {

        this.level.push("low");

        this.level.push("middle");

        return callback("設置8至20位包含大小寫字母谒养、數(shù)字、特殊符號的密碼");

      } else if (

        /^[`~!@#$%^&*()_\-+=<>?:"{}|,.\/;'\\[\]·~明郭!@#¥%……&*()——\-+={}|《》买窟?:“”【】、薯定;‘'始绍,。话侄、\d]+$/.test(value)

      ) {

        this.level.push("low");

        this.level.push("middle");

        return callback("設置8至20位包含大小寫字母亏推、數(shù)字、特殊符號的密碼");

      } else if (

        /^[`~!@#$%^&*()_\-+=<>?:"{}|,.\/;'\\[\]·~年堆!@#¥%……&*()——\-+={}|《》吞杭?:“”【】、变丧;‘'芽狗,。痒蓬、A-Za-z]+$/.test(

          value

        )

      ) {

        this.level.push("low");

        this.level.push("middle");

        return callback("設置8至20位包含大小寫字母童擎、數(shù)字滴劲、特殊符號的密碼");

      } else if (

        /^[`~!@#$%^&*()_\-+=<>?:"{}|,.\/;'\\[\]·~!@#¥%……&*()——\-+={}|《》顾复?:“”【】班挖、;‘'芯砸,萧芙。、A-Za-z\d]+$/.test(

          value

        )

      ) {

        this.level.push("low");

        this.level.push("middle");

        this.level.push("high");

      }

      return callback();

    },

使用方法
rules: {

         password: [

              { required: true, validator: this.checkPassword, trigger: "blur" },

            ] ,

      },

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末假丧,一起剝皮案震驚了整個濱河市双揪,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌虎谢,老刑警劉巖,帶你破解...
    沈念sama閱讀 223,126評論 6 520
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件曹质,死亡現(xiàn)場離奇詭異婴噩,居然都是意外死亡,警方通過查閱死者的電腦和手機羽德,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,421評論 3 400
  • 文/潘曉璐 我一進店門几莽,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人宅静,你說我怎么就攤上這事章蚣。” “怎么了姨夹?”我有些...
    開封第一講書人閱讀 169,941評論 0 366
  • 文/不壞的土叔 我叫張陵纤垂,是天一觀的道長。 經(jīng)常有香客問我磷账,道長峭沦,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,294評論 1 300
  • 正文 為了忘掉前任逃糟,我火速辦了婚禮吼鱼,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘绰咽。我一直安慰自己菇肃,他們只是感情好,可當我...
    茶點故事閱讀 69,295評論 6 398
  • 文/花漫 我一把揭開白布取募。 她就那樣靜靜地躺著琐谤,像睡著了一般。 火紅的嫁衣襯著肌膚如雪玩敏。 梳的紋絲不亂的頭發(fā)上笑跛,一...
    開封第一講書人閱讀 52,874評論 1 314
  • 那天付魔,我揣著相機與錄音,去河邊找鬼飞蹂。 笑死几苍,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的陈哑。 我是一名探鬼主播妻坝,決...
    沈念sama閱讀 41,285評論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼惊窖!你這毒婦竟也來了刽宪?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,249評論 0 277
  • 序言:老撾萬榮一對情侶失蹤界酒,失蹤者是張志新(化名)和其女友劉穎圣拄,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體毁欣,經(jīng)...
    沈念sama閱讀 46,760評論 1 321
  • 正文 獨居荒郊野嶺守林人離奇死亡庇谆,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,840評論 3 343
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了凭疮。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片饭耳。...
    茶點故事閱讀 40,973評論 1 354
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖执解,靈堂內(nèi)的尸體忽然破棺而出寞肖,到底是詐尸還是另有隱情,我是刑警寧澤衰腌,帶...
    沈念sama閱讀 36,631評論 5 351
  • 正文 年R本政府宣布新蟆,位于F島的核電站,受9級特大地震影響右蕊,放射性物質(zhì)發(fā)生泄漏栅葡。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,315評論 3 336
  • 文/蒙蒙 一尤泽、第九天 我趴在偏房一處隱蔽的房頂上張望欣簇。 院中可真熱鬧,春花似錦坯约、人聲如沸熊咽。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,797評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽横殴。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間衫仑,已是汗流浹背梨与。 一陣腳步聲響...
    開封第一講書人閱讀 33,926評論 1 275
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留文狱,地道東北人粥鞋。 一個月前我還...
    沈念sama閱讀 49,431評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像瞄崇,于是被迫代替她去往敵國和親呻粹。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,982評論 2 361

推薦閱讀更多精彩內(nèi)容

  • 以下代碼是根據(jù)自己的項目里面關(guān)于密碼復雜度的一個校驗苏研,也比較符合目前比較主流的校驗規(guī)則等浊,并且進行了相應的優(yōu)化; i...
    夢夜空中最亮的星閱讀 9,349評論 1 1
  • 結(jié)構(gòu)化解決問題的步驟:1摹蘑、識別問題:明確具體是什么問題筹燕。2、定義問題:將問題分解成可管理的小問題衅鹿。3撒踪、調(diào)查:收集數(shù)...
    Zeda_BAE閱讀 1,439評論 0 1
  • 以下是一個使用正則表達式進行密碼復雜性校驗的示例代碼: 在上述示例代碼中,我們使用了一個正則表達式來檢查密碼的復雜...
    李古仙閱讀 220評論 0 0
  • 在C#中塘安,可以通過使用正則表達式來實現(xiàn)密碼復雜性校驗糠涛。以下是一個簡單的示例: 上述示例中援奢,使用了一個正則表達式來校...
    李古仙閱讀 175評論 0 1
  • 當用戶嘗試注冊一個新網(wǎng)站時兼犯,需要設置自己的賬號(包括密碼)。在密碼輸入框集漾,一般我們會設定一些校驗規(guī)則切黔,進行onch...
    wedy閱讀 602評論 0 0