验证密码强度js

< script language = " javascript " >
    
    function allNumber(v)
    {
        var reg 
=   /^ [ 0 - 9 ] * $ / ;
        
if (reg.test(v))
        {    
            
return   true ;
        }
        
return   false ;
    }
    
    function CharMode(iN){
        
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){
        var modes
= 0 ;
        
for (i = 0 ;i < 4 ;i ++ ){
            
if (num & 1 )
                modes
++ ;
            num 
>>= 1 ;
        }
        
return     modes;
    }
        
    
// 返回密码的强度级别
    function checkStrong(sPW){
        
if (sPW.length < 8 )
            
return   0 ; // 密码太短 
        var Modes = 0 ;
        
for (i = 0 ;i < sPW.length;i ++ ){
        
// 测试每一个字符的类别并统计一共有多少种模式.
        Modes |= CharMode(sPW.charCodeAt(i));
        }
    
//     alert(bitTotal(Modes));
         return  bitTotal(Modes);
    }

    
    function showStrongPic()
    {
        var v 
=  document.getElementById( ' new_passwd ' ).value;
        var m 
=  checkStrong(v);
        
if (m  <   2 )
        {
            document.getElementById(
' lowPic ' ).style.display = "" ;
            document.getElementById(
' midPic ' ).style.display = " none " ;
            document.getElementById(
' highPic ' ).style.display = " none " ;
        }
        
else   if (m == 2 )
        {
            document.getElementById(
' lowPic ' ).style.display = " none " ;
            document.getElementById(
' midPic ' ).style.display = "" ;
            document.getElementById(
' highPic ' ).style.display = " none " ;
        }
        
else  
        {
            document.getElementById(
' lowPic ' ).style.display = " none " ;
            document.getElementById(
' midPic ' ).style.display = " none " ;
            document.getElementById(
' highPic ' ).style.display = "" ;
        }
    }
    
    function checkForm()
    {
        v 
=  document.getElementById( ' new_passwd ' ).value;
        
if (v == "" )
        {
            alert(
" 您尚未填写新密码。 " );
            select_focus(
' new_passwd ' );
            
return   false ;
        }
        
if (v.length  <   8   ||  allNumber(v)  ||  v.length  >   16 )
        {        
            alert(
" 新密码格式非法,密码由8-16个字符组成,区分大小写(不能是纯数字)。 " );
            select_focus(
' new_passwd ' );
            
return   false ;
        }

        var w 
=  document.getElementById( ' new_passwd1 ' ).value;
        
if (w  ==   "" )
        {
            alert(
" 您尚未重复填写新密码。 " );
            select_focus(
' new_passwd ' );
            
return   false ;
        }
        
if (w  !=  v)
        {
            alert(
" 两次输入的密码不匹配,请重新输入。 " );
            select_focus(
' new_passwd ' );
            
return   false ;
        }
        document.myform.submit();
    }
</ script >
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值