JS要来自动判断密码的安全强度

本文介绍了一个使用JavaScript实现的密码强度检测工具。该工具可以根据密码中包含的不同类型字符(数字、大小写字母、特殊字符)的数量来评估密码的强度,并通过不同颜色的指示条直观展示密码强度等级。

先看效果

 

代码

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>用于判断密码的安全强度</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<script type="text/javascript">

	//CharMode函数 
	//测试某个字符是属于哪一类. 
	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; //特殊字符 
	} 

	//bitTotal函数 
	//计算出当前密码当中一共有多少种模式 
	function bitTotal(num){ 
		modes=0; 
		for (i=0;i<4;i++){ 
		if (num & 1) modes++; 
		num>>>=1; 
		} 
		return modes; 
	} 

	//checkStrong函数 
	//返回密码的强度级别 

	function checkStrong(sPW){ 
		if (sPW.length<=4) 
		return 0; //密码太短 
		Modes=0; 
		for (i=0;i<sPW.length;i++){ 
		//测试每一个字符的类别并统计一共有多少种模式. 
		Modes|=CharMode(sPW.charCodeAt(i)); 
		} 
	
		return bitTotal(Modes); 
	} 

	//pwStrength函数 
	//当用户放开键盘或密码输入框失去焦点时,根据不同的级别显示不同的颜色 

	function pwStrength(pwd){ 
		O_color="#eeeeee"; 
		L_color="#FF4040"; 
		M_color="#FF9900"; 
		H_color="#33CC00"; 
		if (pwd==null||pwd==''){ 
		Lcolor=Mcolor=Hcolor=O_color; 
		} 
		else{ 
			S_level=checkStrong(pwd); 
			switch(S_level) { 
			case 0: 
			Lcolor=Mcolor=Hcolor=O_color; 
			case 1: 
			Lcolor=L_color; 
			Mcolor=Hcolor=O_color; 
			break; 
			case 2: 
			Lcolor=Mcolor=M_color; 
			Hcolor=O_color; 
			break; 
			default: 
			Lcolor=Mcolor=Hcolor=H_color; 
			} 
		} 

		document.getElementById("strength_L").style.background=Lcolor; 
		document.getElementById("strength_M").style.background=Mcolor; 
		document.getElementById("strength_H").style.background=Hcolor; 
		return; 
	} 	
	
	</script>

  </head>
  
  <body>
   	<table>
   		<tr id ="tr_Password2">
          <td height="30" align="right" >密码:</td>
          <td>
          <input type="password" name="password" class="input1" onKeyUp="pwStrength(this.value)" onBlur="pwStrength(this.value)">
          <font color="red">*</font>
          </td>
        </tr>
        <tr id ="tr_ConfirmPassword2">
          <td height="30" align="right" >确认密码:</td>
          <td><input type="password" name="passCf" class="input1">
          <font color="red">*</font>
          </td>
        </tr>
        <tr>
        	<td align="right">密码强度:</td>
        	<td>
				<table  border="1" cellspacing="0" cellpadding="1" height="20" style="border-color: #5b5b5b;"> 
				<tr align="center" bgcolor="#eeeeee"> 
					<td width="33%" id="strength_L">弱</td> 
					<td width="33%" id="strength_M">中</td> 
					<td width="33%" id="strength_H">安全</td> 
				</tr> 
				</table>        	
        	</td>
        </tr> 
   	</table>
  </body>
</html>
 
成都市作为中国西部地区具有战略地位的核心都市,其人口的空间分布状况对于城市规划、社会经济发展及公共资源配置等研究具有基础性数据价值。本文聚焦于2019年度成都市人口分布的空间数据集,该数据以矢量格式存储,属于地理信息系统中常用的数据交换形式。以下将对数据集内容及其相关技术要点进行系统阐述。 Shapefile 是一种由 Esri 公司提出的开放型地理空间数据格式,用于记录点、线、面等几何要素。该格式通常由一组相互关联的文件构成,主要包括存储几何信息的 SHP 文件、记录属性信息的 DBF 文件、定义坐标系统的 PRJ 文件以及提供快速检索功能的 SHX 文件。 1. **DBF 文件**:该文件以 dBase 表格形式保存与各地理要素相关联的属性信息,例如各区域的人口统计数值、行政区划名称及编码等。这类表格结构便于在各类 GIS 平台中进行查询与编辑。 2. **PRJ 文件**:此文件明确了数据所采用的空间参考系统。本数据集基于 WGS84 地理坐标系,该坐标系在全球范围内广泛应用于定位与空间分析,有助于实现跨区域数据的准确整合。 3. **SHP 文件**:该文件存储成都市各区(县)的几何边界,以多边形要素表示。每个多边形均配有唯一标识符,可与属性表中的相应记录关联,实现空间数据与统计数据的联结。 4. **SHX 文件**:作为形状索引文件,它提升了在大型数据集中定位特定几何对象的效率,支持快速读取与显示。 基于上述数据,可开展以下几类空间分析: - **人口密度评估**:结合各区域面积与对应人口数,计算并比较人口密度,识别高密度与低密度区域。 - **空间集聚识别**:运用热点分析(如 Getis-Ord Gi* 统计)或聚类算法(如 DBSCAN),探测人口在空间上的聚集特征。 - **空间相关性检验**:通过莫兰指数等空间自相关方法,分析人口分布是否呈现显著的空间关联模式。 - **多要素叠加分析**:将人口分布数据与地形、交通网络、环境指标等其他地理图层进行叠加,探究自然与人文因素对人口布局的影响机制。 2019 年成都市人口空间数据集为深入解析城市人口格局、优化国土空间规划及完善公共服务体系提供了重要的数据基础。借助地理信息系统工具,可开展多尺度、多维度的定量分析,从而为城市管理与学术研究提供科学依据。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
【顶级EI复现】计及连锁故障传播路径的电力系统 N-k 多阶段双层优化及故障场景筛选模型(Matlab代码实现)内容概要:本文介绍了名为《【顶级EI复现】计及连锁故障传播路径的电力系统 N-k 多阶段双层优化及故障场景筛选模型(Matlab代码实现)》的技术资源,重点围绕电力系统中连锁故障的传播路径展开研究,提出了一种N-k多阶段双层优化模型,并结合故障场景筛选方法,用于提升电力系统在复杂故障条件下的安全性与鲁棒性。该模型通过Matlab代码实现,具备较强的工程应用价值和学术参考意义,适用于电力系统风险评估、脆弱性分析及预防控制策略设计等场景。文中还列举了大量相关的科研技术支持方向,涵盖智能优化算法、机器学习、路径规划、信号处理、电力系统管理等多个领域,展示了广泛的仿真与复现能力。; 适合人群:具备电力系统、自动化、电气工程等相关背景,熟悉Matlab编程,有一定科研基础的研究生、高校教师及工程技术人员。; 使用场景及目标:①用于电力系统连锁故障建模与风险评估研究;②支撑高水平论文(如EI/SCI)的模型复现与算法验证;③为电网安全分析、故障传播防控提供优化决策工具;④结合YALMIP等工具进行数学规划求解,提升科研效率。; 阅读建议:建议读者结合提供的网盘资源,下载完整代码与案例进行实践操作,重点关注双层优化结构与场景筛选逻辑的设计思路,同时可参考文档中提及的其他复现案例拓展研究视野。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值