当前位置: 主页 > 网页制作 > Flash > AS3教程:密码强度验证

AS3教程:密码强度验证

时间:2009-9-18来源:中国教程网 点击:

经营键身俱乐部2
健身有益健康,全民运动风潮来了,开了一家健身俱乐部,招待客人来锻炼身体吧~第二部更精彩,你要做个健身教练,让每个健身会员都得到最好的健身指导。
玩法:鼠标操作,拖动客人至健身器材,选择强度,让客人做好健身运动。

 

大厨师配料烤比萨
大厨师尼泽对美食的要求精益求精,他配料烤制的比萨,味道香浓,醇美可口,是十里飘香的金字招牌,来和他学习比萨的制作技巧吧~
玩法:鼠标操作,按照提示,第一步:饼面,按右侧提示加入然后搅拌,第二步,擀面皮,第三步,撒配料蔬菜,第四步,烤制。动作要迅速,否则客人等急了会少收钱的。

 

海滨美女服务生
在炎炎夏日海滨餐厅,有许多顾客来点各种餐点,你需要帮美女服务生快速的给顾客服务,当顾客进来时,点击顾客,再点空的桌子即可安排其入坐,然后看客人招手,再过去即可接受点餐,过一会服务台上就会做好了客人的点餐,立即为客人端过来,在招待客人时,要记得也要招待其他客人,让他们可以先入座,再点餐。


哦,课间十分钟


小肥羊贺新年!
儿童歌曲,让您的宝宝在故事中快乐成长。


public static function evaluatePwd(sPW:String):int
{
if (sPW.length <= 4)
return 0;
var Modes:int = 0;
for (var i:int = 0; i < sPW.length; i++)
{
Modes |= CharMode(sPW.charCodeAt(i));
}

return bitTotal(Modes);

function CharMode(iN:int):int
{
if (iN>=48 && iN <=57)
return 1;
if (iN>=65 && iN <=90)
return 2;
if (iN>=97 && iN <=122)
return 4;
else
return 8;
}

function bitTotal(num:int):*
{
var modes:int = 0;
for (var i:int = 0; i < 4; i++)
{
if (num & 1) modes ++;
num >>>= 1;
}
return modes;
}
}

public static function evaluatePwd(sPW:String):int
  {
   if (sPW.length <= 4)
    return 0;
   var Modes:int = 0;
   for (var i:int = 0; i < sPW.length; i++)
   {
    Modes |= CharMode(sPW.charCodeAt(i));
   }

   return bitTotal(Modes);

   function CharMode(iN:int):int
   {
    if (iN>=48 && iN <=57)
     return 1;
    if (iN>=65 && iN <=90)
     return 2;
    if (iN>=97 && iN <=122)
     return 4;
    else
     return 8;
   }

   function bitTotal(num:int):*
   {
    var modes:int = 0;
    for (var i:int = 0; i < 4; i++)
    {
     if (num & 1) modes ++;
     num >>>= 1;
    }
    return modes;
   }
  }另外还有一个十分简单的算法

public static function evaluatePwd2(sPW:String):int
{
return sPW.replace(/^(?:([a-z])|([A-Z])|([0-9])|(.))|(.)+$/g, “″).length;
}
public static function evaluatePwd2(sPW:String):int
  {
   return sPW.replace(/^(?:([a-z])|([A-Z])|([0-9])|(.))|(.)+$/g, "").length;
  }

我们可以用多种图形化的界面甚至动画去展现密码的强度,举个简单的例子,例如我希望用户在输入密码后1秒内没有任何输入动作,则验证密码的强度,并且已进度条的形式展示

首先注册一个监听

pwdInputView.password.addEventListener(KeyboardEvent.KEY_UP, onKey);
pwdInputView.password.addEventListener(KeyboardEvent.KEY_UP, onKey);然后看看监听函数

private var oldText:String;
private function onKey(e:KeyboardEvent):void
{
if (oldText != pwdInputView.password.text && pwdInputView.password.text.length > 5)
{
oldText = pwdInputView.password.text;
TweenLite.killTweensOf(updateStrengthView, false);
TweenLite.delayedCall(1, updateStrengthView);
}
}
private var oldText:String;

  private function onKey(e:KeyboardEvent):void
  {
   if (oldText != pwdInputView.password.text && pwdInputView.password.text.length > 5)
   {
    oldText = pwdInputView.password.text;
    TweenLite.killTweensOf(updateStrengthView, false);
    TweenLite.delayedCall(1, updateStrengthView);
   }
  }

首先定义一个oldText成员,用于记录上次输入的密码,如果当前密码和上次密码不相同并且长度大于5,开始执行操作。我这里用了TweenLite作为计时器,1秒后将执行强度判断,如果发现用户在1秒内再次有输入操作,则销毁当前TweenLite。

再看看如何用视图来展示密码强度,这里不多作解释了,只是一个简单的动画效果。

private function updateStrengthView():void
{
var toWidth:Number = pwdInputView.strengthCanvas.width * CheckStrong.evaluatePwd(pwdInputView.password.text) * .25;
TweenLite.to(pwdInputView.maskCanvas, 1.5, {width:toWidth, ease:Bounce.easeOut, overwrite:false});
}
private function updateStrengthView():void
  {
   var toWidth:Number = pwdInputView.strengthCanvas.width * CheckStrong.evaluatePwd(pwdInputView.password.text) * .25;
   TweenLite.to(pwdInputView.maskCanvas, 1.5, {width:toWidth, ease:Bounce.easeOut, overwrite:false});
  }

站长资讯网
. TAG: 密码 验证
推荐内容最近更新人气排行
关于我们 | 友情链接 | 网址推荐 | 常用资讯 | 网站地图 | RSS | 留言