密码强弱的判断(用正则表达式写)---2017-04-17

实现功能:

1、输入字符要在6-16之间;小于6个字符或大于16个字符时给予提示,而且强弱不显示;为0时,也给予提示;

2、当密码在6-16个字符之间时,如果密码全是数字或全是字母,显示弱;密码是数字与字母的组合,则显示强;若为字母数字加下划线,则为强;

效果图如下:

 代码如下:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <style>
            .mm-body{
                position: relative;
                height: 100px;
                width: 450px;
                background-color: wheat;
            }
            .mm-top{
                height:35px;
                width: 450px;
                background-color: wheat;
            }
            .mm-sr{
                height:30px;
                width: 100px;
                float: left;
                text-align: center;
                line-height: 30px;
            }
            #mm-pwd{
                float: left;
                height:25px;
                background-color: ghostwhite;
                border-radius: 5px;
                width: 150px;
            }
        .mm-btm{
                height: 40px;
                width: 140px;
                position: relative;
                margin-left: 110px;
            }
        #lv1,#lv2,#lv3{
                height: 30px;
                width: 40px;
                border-top: 4px solid gainsboro;
                margin-left: 3px;
                float: left;
                font-size: 18px;
                text-align: center;
                line-height: 25px;
            }
        </style>
    </head>

    <body>
        <div class="mm-body">
            <div class="mm-top">
                <span class="mm-sr">请输入密码:</span>
                <form method="get" action="data.html" >
            <input type="password" id="mm-pwd" onkeyup="show()"/>
            </form>
            <span id="mm-pd"style="color: red; font-size: 12px; line-height: 30px;"></span>
            </div>
            <div class="mm-btm">
              <div id="lv1">弱</div>
              <div id="lv2">中</div>
              <div id="lv3">强</div>

        <!--强度判断也可用表格做
              <table border="0px" cellpadding="0px" cellspacing="1px" >
                <tr height="20px" >
                    <td width="40px"  id="lv1" style="border-top: 3px solid darkgrey;">弱</td>
                    <td width="40px"  id="lv2" style="border-top: 3px solid darkgrey;">中</td>
                    <td width="40px"  id="lv3" style="border-top: 3px solid darkgrey;">强</td>
                </tr>
            </table>-->

            </div>
        </div>
    </body>
</html>
<script language="JavaScript">
function show(){
        var a=document.getElementById("mm-pwd").value;

  if(a.length==0){
        document.getElementById("mm-pd").innerHTML="密码不能为空!";
    }
    else if(a.length<6){
        document.getElementById("mm-pd").innerHTML="密码长度小于6个字符!";
    }

    else if(a.length>=6&&a.length<=16){
         document.getElementById("mm-pd").innerHTML="";
        var reg=/^[0-9]{6,16}$|^[a-zA-Z]{6,16}$/;    //全是数字或全是字母     6-16个字符
        var reg1=/^[A-Za-z0-9]{6,16}$/;     //数字、26个英文字母      6-16个字符
        var reg2=/^\w{6,16}$/;           // 由数字、26个英文字母或者下划线组成的字符串    6-16个字符
            if(a.match(reg)){
                 document.getElementById("lv1").style.borderTopColor="red";    

                 }
            else if(a.match(reg1)){
                document.getElementById("lv1").style.borderTopColor="red";
                 document.getElementById("lv2").style.borderTopColor="yellow";
            }
            else if(a.match(reg2)){
                document.getElementById("lv1").style.borderTopColor="red";
                 document.getElementById("lv2").style.borderTopColor="yellow";
                 document.getElementById("lv3").style.borderTopColor="green";
            }
            }

    else if(a.length>16){
        document.getElementById("mm-pd").innerHTML="密码长度大于16个字符!";
        document.getElementById("lv1").style.borderTopColor="gainsboro";
        document.getElementById("lv2").style.borderTopColor="gainsboro";
       document.getElementById("lv3").style.borderTopColor="gainsboro";
    }

     }

</script>

注:代码为本人原创。

时间: 2024-10-26 04:36:24

密码强弱的判断(用正则表达式写)---2017-04-17的相关文章

JS对密码强弱的判断

<div class="email_reg m_part"> <form class="reg_form" id="reg_form"> <p>邮箱注册</p> <div class="control"> <label>邮箱</label><input class="email" name="email&qu

2017.04.13-2017.07.17

QQ:577007217 今日更新: 2017.07.17 Geomagic Freeform 2017.0.93 Win64 1DVD Geomagic Freeform Plus 2017.0.93 Win64 1DVD Geomagic Sculpt 2017.0.93 Win64 1DVD InnovMetric.PolyWorks.2017.IR3.Win32_64 2DVD Mentor Graphics FloTHERM XT 3.1 Win64 1DVD PolyBoard Pr

python 使用正则表达式判断密码强弱

学python的re模板,写了个文章发现没人看,所以总结出来经验,理论没人爱,实战的人心,那么既然没人喜欢理论就直接上实战,在实战中精炼理论.不多说直接先上代码 def password_level(password): weak = re.compile(r'^((\d+)|([A-Za-z]+)|(\W+))$') level_weak = weak.match(password) level_middle = re.match(r'([0-9]+(\W+|\_+|[A-Za-z]+))+|

检查密码复杂度的C#正则表达式

原文:检查密码复杂度的C#正则表达式 在用户注册与修改.重置密码时,强制密码达到一定的复杂度,是减少盗号的有效措施之一. 而在代码中检查密码复杂度就需要用到正则表达式,比如要求密码必须包含数字.小写或大写字母.特殊字符.字符数在8-30之间,对应的正则表达式如下: var regex = new Regex(@" (?=.*[0-9]) #必须包含数字 (?=.*[a-zA-Z]) #必须包含小写或大写字母 (?=([\x21-\x7e]+)[^a-zA-Z0-9]) #必须包含特殊符号 .{8

判断数字正则表达式

好多种方式.可以用正则表达式,可以用其他过滤方式.using System.Text.RegularExpressions;/// <summary>/// 使用指定正则进行验证/// </summary>/// <param name="regex">正则表达式</param>/// <param name="validateString">待验证字符</param>/// <retur

一个功能更强大的函数,也是用正则表达式写的

<% Option Explicit Function stripHTML(strtext) dim arysplit,i,j, strOutput arysplit=split(strtext,"<") if len(arysplit(0))>0 then j=1 else j=0 for i=j to ubound(arysplit) if instr(arysplit(i),">") then arysplit(i)=mid(arysp

js验证密码强弱

JS密码强度验证 <%@ Page Language="C#" %> <!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"

如何使用正则表达式写出高效率的GREP

正则表达式可追溯到科学家对人类神经系统工作原理的早期研究.是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个"规则字符串",这个"规则字符串"用来表达对字符串的一种过滤逻辑. 作用: 1. 给定的字符串是否符合正则表达式的匹配 2. 可以通过正则表达式,从字符串中获取我们想要的特定部分. 特点: 1. 灵活性.逻辑性和功能性非常的强: 2. 可以迅速地用极简单的方式达到字符串的复杂控制. 3. 对于刚接触的人来说,比较晦涩难

2017.9.17校内noip模拟赛解题报告

预计分数:100+60+60=220 实际分数:100+60+40=200 除了暴力什么都不会的我..... T1 2017.9.17巧克力棒(chocolate) 巧克力棒(chocolate)Time Limit:1000ms Memory Limit:64MB题目描述LYK 找到了一根巧克力棒,但是这根巧克力棒太长了,LYK 无法一口吞进去.具体地,这根巧克力棒长为 n,它想将这根巧克力棒折成 n 段长为 1 的巧克力棒,然后慢慢享用.它打算每次将一根长为 k 的巧克力棒折成两段长为 a