密码设置有关方法:不能相同字母,不能为连续字符

Posted 格格巫 MMQ!!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了密码设置有关方法:不能相同字母,不能为连续字符相关的知识,希望对你有一定的参考价值。

//判断密码不能输入相同字母
removeRepeatStr(str) //不能为相同字符
var newStr = ‘’;
var len = str.length;
for(var i=0; i<len; i++)
if(newStr.indexOf(str[i])==-1)
newStr = newStr + str[i];


return newStr;
,

//判断密码不能输入连续字符
lxStr(str)
var flag = true;
for(var i= 1; i< str.length; i++)
flag = flag && str.charCodeAt(i) == str.charCodeAt(i-1) + 1;

return flag;
,

//使用方法 Vue data 里面
let inputPasswordReg = (rule, value, callback) =>
let str = this. u t i l s . r e m o v e R e p e a t S t r ( v a l u e ) ; / / 去重之后长度是否为 1 ,如果为 1 ,那么就是密码每一个都一样 i f ( v a l u e = = = ′ ′ ) c a l l b a c k ( n e w E r r o r ( ′ 请输入新增账号密 码 ′ ) ) e l s e i f ( v a l u e . l e n g t h < 8 ∣ ∣ v a l u e . l e n g t h > 16 ) c a l l b a c k ( n e w E r r o r ( ′ 请输入 8 − 16 位密 码 ′ ) ) e l s e i f ( s t r . l e n g t h = = 1 ) / / 代表是完全相同的数字和字母 c a l l b a c k ( n e w E r r o r ( ′ 抱歉 , 不能是完全相同的字 符 ′ ) ) e l s e i f ( t h i s . utils.removeRepeatStr(value); //去重之后长度是否为1,如果为1,那么就是密码每一个都一样 if(value === '') callback(new Error('请输入新增账号密码')) else if(value.length<8 || value.length>16) callback(new Error('请输入8-16位密码')) else if(str.length == 1) //代表是完全相同的数字和字母 callback(new Error('抱歉,不能是完全相同的字符')) else if(this. utils.removeRepeatStr(value);//去重之后长度是否为1,如果为1,那么就是密码每一个都一样if(value===′′)callback(newError(请输入新增账号密))elseif(value.length<8∣∣value.length>16)callback(newError(请输入816位密))elseif(str.length==1)//代表是完全相同的数字和字母callback(newError(抱歉,不能是完全相同的字))elseif(this.utils.lxStr(value) == true)
callback(new Error(‘抱歉,不能是连续的数字或字母’))
else if(!this.$utils.validator.isPassword(value))
callback(‘抱歉,至少含字母/数字、符号2种组合’)
else
callback()

/16,$/
这是是密码不能少于6位,

var reg1 = /26,$/g,
reg2 = /\\d3/g;
var str = ‘22aa333’;
if (reg1.test(str) && !reg2.test(str))
console.log(‘密码符合规则’);
else
console.log(‘密码不符合规则’);

其实思路很简单,三个连续数字好写吧。那么三个非连续数字不就是排除三个连续数字吗?这样设置是最简单易懂的~

以下是几个设置密码的技巧:

1、长度:密码的长度要长,至少8位以上。黑客写个程序从000000逐个猜到999999,至少得猜1亿次。

2、组合密码:不要纯粹的使用数字,或纯粹字母。建议数字、字母、特殊字符夹杂着!若密码是8位,每一位可以使用26个大写字母、26个小写字母、10个数字、若干个特殊符号,那么黑客就要猜测至少N的8次方,N大于72。

3、复杂的、方便记忆的、最有诗意的,个性密码:想一句对你有特殊意义的话,进行简单变形。如:一行白鹭上青天->1hblsqt;小心驶得万年船->xxsdwnc等等,可尽情发挥你的创意!

一个安全的密码也不能完全保证万无一失,要想账号更加保险,最好采取以下建议:

1、定期更换:一个很复杂的密码,用久了,可能泄漏了还不知晓。最好定期更换一个密码!

2、统一认证:即将需要登录的若干个系统,整合在一个地方,即不需要记忆多个站点的密码,集中记住一个即可。

3、使用密码管理软件:日常生活里,密码太多,不建议用txt记录密码,容易遗漏或被他人看到。所以,应该采用专业的密码管理软件。

4、不要到处乱贴自己的密码:工作中,由于密码难记,于是写在便笺上,贴在座位或者显示器附近。方便了自己,也往往方便了陌生人。

5、不要在公共场合大声的说出密码:如在电梯里、公交车上打电话时,切记勿在电话里大声的透露自己的密码。

6、不要多处使用同一个密码:不要在工作场合和生活场合使用同一套密码,重要系统(比如QQ、网银、12306等和隐私密切相关的)和非重要系统(一些小的论坛、查阅为主的资料)的密码要分开。

7、重要系统不要只用密码认证:如大家在登录网上银行的时候,可能还需要结合短信验证码、动态口令令牌、手机APP扫描等多种手段。


  1. 0-9A-Za-z ↩︎

  2. 0-9A-Za-z ↩︎

以上是关于密码设置有关方法:不能相同字母,不能为连续字符的主要内容,如果未能解决你的问题,请参考以下文章

如何用正则表达式实现规定用户输入密码的格式为:(长度6到18个字符,不能全为重复字母,或者连续字母)

java或者正则表达式如何判断字符串不是相同数字或者字母?不能全是连续数字?(最好是java)

HDU 1039[Easier Done Than Said?] 字符串处理

java 正则表达式 包含字母数字特殊字符

JS 验证密码 不能为空,必须含有数字字母特殊字符,长度在8-12位

如何将pdf文档设置为不能打印