Javascript mootools formcheck 4项标准中的第2项
我使用JS表单验证脚本。我想检查用户选择的密码是否包含以下四个条件中的两个:Javascript mootools formcheck 4项标准中的第2项,javascript,passwords,mootools,Javascript,Passwords,Mootools,我使用JS表单验证脚本。我想检查用户选择的密码是否包含以下四个条件中的两个: minimum 1 digit minimum 1 small letter minimum 1 capital letter minimum 1 special character (!@#$%^*-_+=.) 并且至少在6到50位之间 它与此扩展一起工作: uppercase: /(?=^.{6,50}$)((?=.*\d)|([!,%,&,@,#,$,^,*,?,_,~]))(?![.\n])(?=.*
minimum 1 digit
minimum 1 small letter
minimum 1 capital letter
minimum 1 special character (!@#$%^*-_+=.)
并且至少在6到50位之间
它与此扩展一起工作:
uppercase: /(?=^.{6,50}$)((?=.*\d)|([!,%,&,@,#,$,^,*,?,_,~]))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$/
这将检查用户密码是否符合所有四个条件。现在我想以这种方式更改脚本,如果密码只符合两个aof,则接受密码。您知道如何更改脚本吗?您可以使用类似我多年前编写的插件: 它允许你分割你的检查,并分配一个相对分数和一个整体通过分数,这个想法是不是所有的检查都一样强。此外,对于更长的长度,分数会增加
checks: [
/* alphaLower */ {
re: /[a-z]/,
score: 1
},
/* alphaUpper */ {
re: /[A-Z]/,
score: 5
},
/* mixture of upper and lowercase */ {
re: /([a-z].*[A-Z])|([A-Z].*[a-z])/,
score: 2
},
/* threeNumbers */ {
re: /(.*[0-9].*[0-9].*[0-9])/,
score: 7
},
/* special chars */ {
re: /.[!@#$%^&*?_~]/,
score: 5
},
/* multiple special chars */ {
re: /(.*[!@#$%^&*?_~].*[!@#$%^&*?_~])/,
score: 7
},
/* all together now, does it look nice? */ {
re: /([a-zA-Z0-9].*[!@#$%^&*?_~])|([!@#$%^&*?_~].*[a-zA-Z0-9])/,
score: 3
},
/* password of a single char sucks */ {
re: /(.)\1+$/,
score: 2
}
],
因此,您可以分解正则表达式并将其添加到此处,或者查看源代码并获得一些想法