PasswordStrength:即时检验密码的强度

PasswordStrength扩展器控件可以用来为让用户设置密码的ASP.NET TextBox控件添加即时的密码强度检测功能,并能将检测结果以文本、指示条等多种方式即时显示给用户。
示例运行效果:

图(1)

图(2)
 
图(3)

图(4)

PasswordStrengthDemo.aspx代码示例:
<% @ Page Language="C#" AutoEventWireup="true" CodeFile="PasswordStrengthDemo.aspx.cs" Inherits="Chapter09_PasswordStrengthDemo"  %>

<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >

< html  xmlns ="http://www.w3.org/1999/xhtml"   >
< head  runat ="server" >
    
< title > PasswordStrength Demo </ title >
    
< link  href ="stylesheet.css"  rel ="stylesheet"  type ="text/css"   />
    
< style  type ="text/css" >
        .TextIndicator_TextBox1
        
{
            background-color
:blue;
            color
:#FFFFFF;
            padding
: 2px 3px 2px 3px;   
        
}


        .BarIndicator_TextBox2
        
{
            color
:Blue;
            background-color
:Blue;
        
}


        .BarBorder_TextBox2
        
{
            border-style
:solid;
            border-width
:1px;
            width
:200px;
            vertical-align
:middle;
        
}


        .TextIndicator_TextBox3
        
{
            background-color
:Blue;
            color
:Yellow;
            font-size
:small;
            font-variant
:small-caps;  
            padding
: 2px 3px 2px 3px;   
        
}


        .TextIndicator_TextBox3_Handle
        
{
            width
:16px;
            height
:14px;
            background-image
:url(images/Question.png);
            overflow
:hidden;
            cursor
:help;
        
}


    
</ style >
</ head >
< body >
    
< form  id ="PasswordStrengthForm"  runat ="server" >
        
< asp:ScriptManager  ID ="sm"  runat ="server"   />
        
< div  class ="demoheading" > PasswordStrength Demonstration </ div >
        Simple Complexity, Text Indicator
< br  />
        
< asp:TextBox  ID ="TextBox1"  Width ="150"  runat ="server"   />< br  />
        
< asp:Label  ID ="TextBox1_HelpLabel"  runat ="server"   />< br  />< br  />
        
< ajaxToolkit:PasswordStrength  ID ="ps1"  runat ="server"
            TargetControlID
="TextBox1"
            DisplayPosition
="RightSide"
            StrengthIndicatorType
="Text"
            PreferredPasswordLength
="10"
            PrefixText
="密码强度:"
            HelpStatusLabelID
="TextBox1_HelpLabel"
            TextCssClass
="TextIndicator_TextBox1"
            TextStrengthDescriptions
="很弱;弱;中等;强;极强"
            MinimumNumericCharacters
="0"
            MinimumSymbolCharacters
="0"
            RequiresUpperAndLowerCaseCharacters
="false"   />
        
        Average Complexity, Bar Indicator
< br  />
        
< asp:TextBox  ID ="TextBox2"  Width ="150"  TextMode ="Password"  runat ="server"   />< br  />
        
< asp:Label  ID ="TextBox2_HelpLabel"  runat ="server"   />< br  />< br  />
        
< ajaxToolkit:PasswordStrength  ID ="ps2"  runat ="server"  
            TargetControlID
="TextBox2"
            DisplayPosition
="RightSide"
            StrengthIndicatorType
="BarIndicator"
            PreferredPasswordLength
="15"
            HelpStatusLabelID
="TextBox2_HelpLabel"
            BarIndicatorCssClass
="BarIndicator_TextBox2"
            BarBorderCssClass
="BarBorder_TextBox2"
            MinimumNumericCharacters
="1"
            MinimumSymbolCharacters
="1"
            RequiresUpperAndLowerCaseCharacters
="true"   />
        
        High Complexity, Text Indicator, Help Indicator
< br  />< br  />
        
< asp:TextBox  ID ="TextBox3"  Width ="150"  runat ="server"   />
        
< ajaxToolkit:PasswordStrength  ID ="ps3"  runat ="server"  
            TargetControlID
="TextBox3"
            DisplayPosition
="BelowLeft"
            StrengthIndicatorType
="Text"
            PreferredPasswordLength
="20"
            PrefixText
="密码强度:"
            TextCssClass
="TextIndicator_TextBox3"
            MinimumNumericCharacters
="2"
            MinimumSymbolCharacters
="2"
            RequiresUpperAndLowerCaseCharacters
="true"
            TextStrengthDescriptions
="非常弱;很弱;弱;中等;强;很强;非常强"
            HelpHandleCssClass
="TextIndicator_TextBox3_Handle"
            HelpHandlePosition
="LeftSide"   />
        
<!--
            TargetControlID:该扩展器目标TextBox控件的ID,即将要添加密码强度指示的TextBox的ID
            StrengthIndicatorType:指示密码强度的方式,可选Text和Barindicator,分别代表文本方式和指示条方式
            DisplayPosition:强度指示元素与目标TextBox之间的相对位置,可选AboveLeft(左上角)、AboveRight(右上角)、
                             BelowLeft(左下角)、BelowRight(右下角)、LeftSide(左边)以及RightSide(右边)六种
            HelpStatusLabelID:用来帮助用户填写合乎要求的密码而设置的Label的ID。用户在输入密码时,该Label中的文字
                               将不断更新,以提示用户还应该输入何种类型的字符
            TextStrengthDescriptions:用分号(;)链接起来的用来描述不同强度级别的字符串,例如“很弱;弱;中等;强;极强”,
                                      必须满足从弱到强的顺序,且强度级别的数目要在2~10个之间
            PrefixText:强度级别的前缀文字
            TextCssClass:强度指示文本将应用的CSS Class
            BarBorderCssClass:强度指示条的边框将应用的CSS Class
            BarIndicatorCssClass:强度指示条将应用的CSS Class
            HelpHandlePosition:帮助按钮与目标TextBox之间的相对位置,可选AboveLeft(左上角)、AboveRight(右上角)、
                                BelowLeft(左下角)、BelowRight(右下角)、LeftSide(左边)以及RightSide(右边)六种
            HelpHandleCssClass:帮助按钮将应用的CSS Class
            PreferredPasswordLength:强度级别要达到最高所需要的最少密码长度
            MinimumNumericCharacters:强度级别要达到最高所需要的最少数字字符的个数
            MinimumSymbolCharacters:强度级别要达到最高所需要的最少特殊字符(例如!@#$%等)的个数
            RequiresUpperAndLowerCaseCharacters:密码中是否需要混合出现大小写字母才能够使强度级别达到最高
            CalculationWeightings:用分号(;)连接起来的4个数值,用来设置计算密码强度时各种类型字符所占的权重,该
                                   属性的默认值为50;15;15;20。由分号隔开的这4个数值的和必须为100,其格式为L;N;C;S,
                                   其中:
                                   L代表Length,即密码的长度在强度计算中的权重
                                   N代表Number,即密码中数字的个数的强度计算中的权重
                                   C代表Case,即密码中混杂的大小写字符的强度计算中的权重
                                   S代表Symbol,即密码中的特殊字符(例如!@#$%)在强度计算中的权重
        
-->
        
    
</ form >
</ body >
</ html >
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值