跪求一个密码规则正则表达式,请高手指点,不胜感激!!!

hyuk2460 2009-12-22 10:15:06
需求描述:
1、密码的最小长度为8位。
2、密码必须同时包含数字和字符。
3、密码只要包含一个大写字符。
4、密码至少包含一个特殊字符,特殊字符包括:@, #, $, !, %, &, *,
请赐教!谢谢。
...全文
195 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Click_Me 2009-12-22
  • 打赏
  • 举报
回复

<script type="text/javascript">
<!--
var checkPas = function(reg, spec){
return function(str){
if(reg.test(str) && str.search(spec) != -1 && (str.match(/[A-Z]/g) != null && str.match(/[A-Z]/g).length == 1) && str.search(/[0-9]/) != -1) {
alert('符合规则');
}else {
alert('不符合规则');
}
}
}(/^[0-9a-z@#$!%&*]{8,}$/i, /[@#$!%&*]/);

checkPas('1A3a4@444');
checkPas('13a4@4555'); //无大写字母
//-->
</script>

3、密码只要包含一个大写字符。 === 改为 仅包含一个大写字母 这样表达比较容易让人理解
hyuk2460 2009-12-22
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 click_me 的回复:]
JScript code<script type="text/javascript"><!--var checkPas=function(reg, spec){returnfunction(str){if(reg.test(str)&& str.search(spec)!=-1&& str.search(/[A-Z]/)!=-1&& str.search(/[0-9]/)!=-1) {
?-
[/Quote]
这个输入2个大写字母也判断为符合规则的啊?
Click_Me 2009-12-22
  • 打赏
  • 举报
回复

<script type="text/javascript">
<!--
var checkPas = function(reg, spec){
return function(str){
if(reg.test(str) && str.search(spec) != -1 && str.search(/[A-Z]/) != -1 && str.search(/[0-9]/) != -1) {
alert('符合规则');
}else {
alert('不符合规则');
}
}
}(/^[0-9a-z@#$!%&*]{8,}$/i, /[@#$!%&*]/);

checkPas('1A3a4@4555');
checkPas('13a4@4555'); //无大写字母
//-->
</script>
无·法 社区初级成员 T1 2009-12-22
  • 打赏
  • 举报
回复
关于2和4需要纠正一下的,因为$和*是元字符,需要转义,分别改为:
[@#\$!%&\*]
[A-Za-z0-9@#\$!%&\*]{8}
无·法 社区初级成员 T1 2009-12-22
  • 打赏
  • 举报
回复
光靠一个正则无法搞定的,至少需要4个,可以依次判断下:
1.使用表达式([A-Z])看看有多少个匹配结果,如果只有1个则表示“包含一个大写字符”,继续下一步
2.使用表达式[@#$!%&*]看看是否有匹配结果,如果有则表示“至少包含一个特殊字符”,继续下一步
3.使用表达式[0-9]看看是否含有匹配结果,如果有则表示“同时包含数字和字母”,继续下一步
4.使用表达式[A-Za-z0-9@#$!%&*]{8},看看是否含有匹配结果,如果有则表示ok
hyuk2460 2009-12-22
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 flyrain2012 的回复:]
3、密码只要包含一个大写字符。 (是必须有一个以上,还是只有一个)
[/Quote]
只包含一个大写字母。
xchh1220 2009-12-22
  • 打赏
  • 举报
回复
字符和字母差别可大了,LZ得注意
xchh1220 2009-12-22
  • 打赏
  • 举报
回复
3、密码只要包含一个大写字符。 (是必须有一个以上,还是只有一个)
xqxujun 2009-12-22
  • 打赏
  • 举报
回复
以我的水平一个写不出、。。。哎。。
cat_yan 2009-12-22
  • 打赏
  • 举报
回复
帮你顶一下,看看这个资料不,试试自己写个。。
http://hi.baidu.com/ccsbb8713/blog/item/a49c65db793ac760d1164e41.html

87,921

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧