Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.NET密码强度正则表达式_Asp.net_Regex - Fatal编程技术网

ASP.NET密码强度正则表达式

ASP.NET密码强度正则表达式,asp.net,regex,Asp.net,Regex,我正在使用ASP.NET成员身份属性对我的ASP.NET网站进行身份验证。我希望密码非常安全。我希望它们有7位数长,包含一个字母、数字和一个特殊字符 但是,当我将其添加到我的会员资格配置文件时,会出现以下错误: Name cannot begin with the '(' character, hexadecimal value 0x28. Line 26, position 445. 所以它看起来好像没有看到@符号后面的转义字符,而是试图使用该引号来结束标记。知道我做错了什么吗 最后,我如

我正在使用ASP.NET成员身份属性对我的ASP.NET网站进行身份验证。我希望密码非常安全。我希望它们有7位数长,包含一个字母、数字和一个特殊字符

但是,当我将其添加到我的会员资格配置文件时,会出现以下错误:

Name cannot begin with the '(' character, hexadecimal value 0x28. Line 26, position 445.
所以它看起来好像没有看到@符号后面的转义字符,而是试图使用该引号来结束标记。知道我做错了什么吗

最后,我如何修改它,使其同时需要小写字母和大写字母?

尝试以下方法:

ValidationExpression="(?=^.{7,51}$)([A-Za-z]{1})([A-Za-z0-9!@#$%_\^\&\*\-\.\?]{5,49})$" 

你可以找到很多样本,而不是处理一个没有人理解的表达式,使用三个(或更多)。以下是一些用于此想法的伪代码:

abort('to short') if password.length < 8
abort('at least one letter') if password !~ /[a-z]/i
abort('at least two digits') if password !~ /[0-9].*[0-9]/
abort('at least one special character') if password !~ /[!@#$%^\*-=\+\?]/
如果password.length<8,则中止('to short') 如果输入密码,则中止('至少一个字母)~/[a-z]/i 如果输入密码,则中止('至少两位数)~/[0-9].*[0-9]/ 如果输入密码,则中止('至少一个特殊字符)~/[!@#$%^\*-=\+\?]/
如果您试图转义web.config文件中的
,则需要执行
,这是xml的正确引用实体。至于你想要的正则表达式,试试这个

^(?=[a-z]+)(?=.*?\d+)(?=.*?[`~!@#$%^&*\(\)\-_}{\]\[=+\\|]+).{7,}$
将与以下粗体项目匹配

  • 你好
  • 海洛特
  • 地狱
  • 地狱
  • 他!第10次
  • 他!第10次
  • 他!l0Th3534534
  • 他!l0Thdggfsg
如果还需要至少一个大写字母,并使其仅与最后3个字母匹配,则可以添加
(?=.*[A-Z]+)
。最后,您可以从上面的正则表达式中修改下面的块,以便只包含您希望允许的特殊字符

[`~!@#$%^&*\(\)\-_}{\]\[=+\\|]
'由密码验证添加

创建一个方法并传递文本以验证密码强度。。 暗密码关联 password=Trim(txtnewpassword.Text)

dimsallcharacter()字符串={“a”,“b”,“c”,“d”,“e”,“f”,“g”,“h”,“i”,“j”,“k”,“l”,“m”,“n”,“o”,“p”,“q”,“r”,“t”,“u”,“v”,“w”,“x”,“y”,“z”,“a”,“b”,“c”,“d”,“e”,“f”,“g”,“h”,“j”,“k”,“l”,“m”,“n”,“o”,“p”,“q”,“r”,“s”,“t”,“u”,“v”,“w”,“x”,“y”,“y”,“z”} DimsmallchacountAsInteger=0 foreachsmallchaasstrings字符 如果(password.Contains(smallcha)),则 smallchacount=smallchacount+1 恩迪夫 下一个
如果SmallchaCount不相信这会起作用,因为它将与
helloth
ya相匹配,那么在vb.net中验证密码强度就可以了
[`~!@#$%^&*\(\)\-_}{\]\[=+\\|]