密码设置有关方法:不能相同字母,不能为连续字符
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(′请输入8−16位密码′))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扫描等多种手段。
以上是关于密码设置有关方法:不能相同字母,不能为连续字符的主要内容,如果未能解决你的问题,请参考以下文章
如何用正则表达式实现规定用户输入密码的格式为:(长度6到18个字符,不能全为重复字母,或者连续字母)
java或者正则表达式如何判断字符串不是相同数字或者字母?不能全是连续数字?(最好是java)
HDU 1039[Easier Done Than Said?] 字符串处理