多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
LIP缩写的由来:L(letter 字母) + I(uint 数字) + P(punctuation 标点符号) 参数punctuation的说明: * punctuation指可接受的标点符号集 * 若需自定义符号集,例如“仅包含中划线和下划线”,将参数设置为"-\_"即可 * 若不传值或默认为null,则内部默认标点符号集为除空格外的其他英文标点符号:~`!@#$%^&\*()-\_+=\[\]{};:"',/? ~~~ function getLIPTypes(str,punctuation=null){ let p_regexp = new RegExp('['+getPunctuation(punctuation)+']'); return /[A-z]/.test(str) + /[0-9]/.test(str) + p_regexp.test(str); } ~~~ # 校验字符串构成的种类数量是否大于或等于参数num的值。通常用来校验用户设置的密码复杂程度。 校验规则: * 参数num为需要构成的种类(字母、数字、标点符号),该值只能是1-3。 * 默认参数num的值为1,即表示:至少包含字母,数字,标点符号中的1种 * 若参数num的值为2,即表示:至少包含字母,数字,标点符号中的2种 * 若参数num的值为3,即表示:必须同时包含字母,数字,标点符号 * 参数punctuation指可接受的标点符号集,具体设定可参考getLIPTypes()方法中关于标点符号集的解释。 ~~~ function pureLIP(str,num=1,punctuation=null){ let regexp = new RegExp(`[^A-z0-9|${getPunctuation(punctuation)}]`); return Boolean(!regexp.test(str) && getLIPTypes(str,punctuation)>= num); } ~~~