今天沒啥寫的,就分享個思路吧。
之前在群裡討論的時候,謝亮兄弟說判斷密碼是否是純數字,純字母之類的。
如果用 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...