js 正則之 判斷密碼型別

2021-09-06 16:51:05 字數 861 閱讀 7530

今天沒啥寫的,就分享個思路吧。

之前在群裡討論的時候,謝亮兄弟說判斷密碼是否是純數字,純字母之類的。

如果用 if 或者 switch 寫看著確實蛋疼,如果有 7, 8 條判斷,那就老長一大段了。

這個思路是我之前看 jquery 原始碼的時候學到的,感覺用在這也不錯。

先來看**吧。

function test(str, re, msg) 

console.log(test("123"));

console.log(test("sss"));

console.log(test("123xx"));

console.log(test("a123xx"));

console.log(test("%$#@"));

可以看到利用乙個正則和乙個陣列就完成了效驗。

其實思路很簡單,利用了正則的捕獲組來對應陣列裡的字元。

/^(\d+)$|^([a-za-z]+)$|^([a-za-z].+)$|^([0-9a-za-z]+)$|^([\s\s]+)$/

可以拆分為

/^(\d+)$/ 對應 "純數字"

/^([a-za-z]+)$/ 對應 "純字母"

/^([a-za-z].+)$/ 對應 "字母開頭+任意字元"

/^([0-9a-za-z]+)$/ 對應 "數字+字母任意組合"

/^([\s\s]+)$/ 對應 "未分類"

如果對應的捕獲組捕獲到了,對應的分組下就會有值,如果沒捕獲到就會是 undefined

所以我們直接從 1 開始遍歷結果集就可以得知是什麼型別的了。

好了,今天分享就這些。

JS正則密碼校驗之 JS正則匹配半形英文符號

在js密碼校驗中常常會遇到密碼強度的校驗需求,借用一位朋友提問的圖,他在工作中遇到的乙個比較經典的密碼強度校驗要求 這個需求有兩個難點,一,是如何使用正則匹配所有半形英文標點符號,二,是如何驗證密碼段中在要求的四種 大寫字母,小寫字母,數字,標點符號 型別中至少存在三種。首先,我們來解決第乙個難點 ...

js型別判斷

typeoftypeof 返回值有七種可能 number,string,boolean,object,function,undefined,symbol 侷限性 對於array,null等特殊物件使用typeof一律返回object。numbers typeof 37 number typeof m...

js型別判斷

js型別判斷,有如下三種 1 typeof 2 instanceof 3 object.prototype.tostring.call 4 arg.proto contructor.name 以判斷陣列為例,有如下幾種方法 function isarray arg return arg instan...