求一密码复杂度检查的函数 有没有正则表达式的高手在啊?

冷箫轻笛 2009-09-22 11:57:28
要求对一字符串的复杂度 进行检查


密码符合以下长度/复杂性要求才可以接受
一, 密码最少长度为 6位 ,并至少包含3种复杂类别的字符 (如 Abc134 或者 abc12# 符合 如abc123 123<>( 就不符合)
二 密码最少长度为 8位 ,并至少包含2种复杂类别的字符 (如 Abc21334 或者 abcd1234 符合 如12345678 abcdefg就不符合)
三, 密码的复杂类别由拉丁、西里尔或希腊字母组成
复杂类别说明
1 大写字母 如:A B C....Z
2 小写字母 如:a b c....z
3 西文阿拉伯数据 如:0 1 2...9
4 其他字符(“特殊字符”、标点、符号 如:{ } [] , < > @ $ % & ^ ( ) _ + =

一 二 条符合其中一条即可

如何判断改字符串是否符合呢??
有没有高手 好人帮帮忙?
...全文
946 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
wanghao2979 2010-12-15
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 chen_xiangguo 的回复:]
引用 7 楼 wuyi8808 的回复:
C# code"^(?:(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])|(?=.*[A-Z])(?=.*[a-z])(?=.*[^A-Za-z0-9])|(?=.*[A-Z])(?=.*[0-9])(?=.*[^A-Za-z0-9])|(?=.*[a-z])(?=.*[0-9])(?=.*[^A-Za-z0-9])).{6,}|(?:……
[/Quote]


顶....走了csdn 这么久.热心的人还真是多哦
-过客- 2009-09-23
  • 打赏
  • 举报
回复

Regex reg = new Regex("^((?![{}\[\],<>@$%&^()_+=0-9]+$)(?![{}\[\],<>@$%&^()_+=a-z]+$)(?![{}\[\],<>@$%&^()_+=A-Z]+$)(?![A-Z0-9]+$)(?![A-Za-z]+$)(?![a-z0-9]+$)[{}\[\],<>@$%&^()_+=0-9a-zA-Z]{6}|(?![{}\[\],<>@$%&^()_+=]+$)(?![0-9]+$)(?![a-z]+$)(?![A-Z]+$)[{}\[\],<>@$%&^()_+=0-9a-zA-Z]{8})$");
if(reg.IsMatch(yourStr))
//符合
else
//不符合
zhangyanyang 2009-09-23
  • 打赏
  • 举报
回复
study
随风落梦 2009-09-22
  • 打赏
  • 举报
回复
up!!!!
mythad 2009-09-22
  • 打赏
  • 举报
回复
up
wiki14 2009-09-22
  • 打赏
  • 举报
回复

function checkPass(pass){

if(s.length < 8){

return 0;
}
var ls = 0;

if(s.match(/([a-z])+/)){

ls++;

}

if(s.match(/([0-9])+/)){

ls++;
}

if(s.match(/([A-Z])+/)){

ls++;

}
if(s.match(/[^a-zA-Z0-9]+/)){

ls++;

}
return ls

}
if(checkPass(form.password.value)<3){

alert("密码复杂度不够,请重新设置!");

form.password.focus();

return false ;
}



路过帮顶。
zhanlang9075 2009-09-22
  • 打赏
  • 举报
回复
学习le,帮顶,关注zh
chen_xiangguo 2009-09-22
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 wuyi8808 的回复:]
C# code"^(?:(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])|(?=.*[A-Z])(?=.*[a-z])(?=.*[^A-Za-z0-9])|(?=.*[A-Z])(?=.*[0-9])(?=.*[^A-Za-z0-9])|(?=.*[a-z])(?=.*[0-9])(?=.*[^A-Za-z0-9])).{6,}|(?:(?=.*[A-Z])(?=.*[a-z])¡­
[/Quote]
空军,你太强了!
wuyi8808 2009-09-22
  • 打赏
  • 举报
回复
using System;
using System.Text.RegularExpressions;

class Program
{
static void Main()
{
string[] array = { "A2wee", "###123", "!!isok!!234", "ijk#A", "QWERtyuiop", "ABCD1234" };
Regex r = new Regex("^(?:(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])|(?=.*[A-Z])(?=.*[a-z])(?=.*[^A-Za-z0-9])|(?=.*[A-Z])(?=.*[0-9])(?=.*[^A-Za-z0-9])|(?=.*[a-z])(?=.*[0-9])(?=.*[^A-Za-z0-9])).{6,}|(?:(?=.*[A-Z])(?=.*[a-z])|(?=.*[A-Z])(?=.*[0-9])|(?=.*[A-Z])(?=.*[^A-Za-z0-9])|(?=.*[a-z])(?=.*[0-9])|(?=.*[a-z])(?=.*[^A-Za-z0-9])|(?=.*[0-9])(?=.*[^A-Za-z0-9])|).{8,}");
foreach (string s in array)
{
Console.WriteLine("{0}: {1}", r.IsMatch(s) ? "Yes" : " No", s);
}
}
}
/* 输出:
No: A2wee
No: ###123
Yes: !!isok!!234
No: ijk#A
Yes: QWERtyuiop
Yes: ABCD1234
*/
wuyi8808 2009-09-22
  • 打赏
  • 举报
回复
"^(?:(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])|(?=.*[A-Z])(?=.*[a-z])(?=.*[^A-Za-z0-9])|(?=.*[A-Z])(?=.*[0-9])(?=.*[^A-Za-z0-9])|(?=.*[a-z])(?=.*[0-9])(?=.*[^A-Za-z0-9])).{6,}|(?:(?=.*[A-Z])(?=.*[a-z])|(?=.*[A-Z])(?=.*[0-9])|(?=.*[A-Z])(?=.*[^A-Za-z0-9])|(?=.*[a-z])(?=.*[0-9])|(?=.*[a-z])(?=.*[^A-Za-z0-9])|(?=.*[0-9])(?=.*[^A-Za-z0-9])|).{8,}"
aotian798 2009-09-22
  • 打赏
  • 举报
回复
litepos 2009-09-22
  • 打赏
  • 举报
回复
关注下下
wuyq11 2009-09-22
  • 打赏
  • 举报
回复
function checkPassword(pwd)
{
var p1= (pwd.search(/[a-zA-Z]/)!=-1) ? 1 : 0;
var p2= (pwd.search(/[0-9]/)!=-1) ? 1 : 0;
var p3= (pwd.search(/[^A-Za-z0-9_]/)!=-1) ? 1 : 0;
}

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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