ajax js动态加载 密码强度提示 高亮度元素

本文介绍了一种实现密码强度检测的方法,并提供了一个高亮度显示指定元素的实用工具。同时,还分享了如何通过JavaScript动态加载外部JS文件。
关键字: ajax js动态加载 密码强度提示 高亮度元素 这次提供三个一起,呵呵,分别是:密码强度检测、高亮度指定元素、JS动态加载~~ js 代码 /**----------------------------------------------------------------------- * ----------------------------密码强度检测类----------------------------- * ----------------------------------------------------------------------- */ function Password() {}; Password.check = function(/*string*/pwd, /*string*/tipsDivId) { var id = Password.getResult(pwd); var msg = ["密码过短", "密码强度差", "密码强度良好", "密码强度高"]; var sty = [-45, -30, -15, 0]; var col = ["#999999", "#66CC00"]; var sWidth = 300, sHeight = 15; var Bobj = $(tipsDivId); if (!Bobj) return; with (Bobj) { style.fontSize = "12px"; style.width = sWidth + "px"; style.height = sHeight + "px"; style.lineHeight = sHeight + "px"; } var html = ""; for (var i = 0; i < msg.length; i ++) { var bg_color = (i <= id) ? col[1] : col[0]; html += "" + bg_color + ";'> "; } Bobj.innerHTML = html; Bobj.title = msg[id]; }; Password.getResult = function(/*string*/pwd) { if (pwd.length < 6) return 0; var ls = 0; if (pwd.match(/[a-z]/ig)) ls++; if (pwd.match(/[0-9]/ig)) ls++; if (pwd.match(/(.[^a-z0-9])/ig)) ls++; if (pwd.length < 6 && ls > 0) ls--; return ls; }; /**----------------------------------------------------------------------- * ----------------------------高亮度指定的元素--------------------------- * ----------------------------------------------------------------------- */ function HighLight() {}; HighLight.options = { id : null, className : null, interval : 255, times : 3000 }; HighLight.prototype = { exe : function(/*object*/options) { var _options = {}; if (typeof(options) == 'object') { _options.id = options.id || HighLight.options.id; _options.className = options.className || HighLight.options.className; _options.interval = options.interval || HighLight.options.interval; _options.times = options.times || HighLight.options.times; } if (_options.id == null || !$(_options.id)) { alert('必须指定要高亮度显示的元素ID!'); return false; } else if (!_options.className || typeof(_options.className) != 'string' || _options.className.strip() == '') { alert('请指定高亮度显示的CSS名称!'); return false; } var elt = $(_options.id); if (elt.highLightHandle != null) return; elt.highLightHandle = setInterval(function() { Element.toggleClassName(elt, _options.className); }, _options.interval); window.setTimeout(function() { clearInterval(elt.highLightHandle); Element.removeClassName(_options.className); elt.removeAttribute('highLightHandle'); }, _options.times); return true; } }; /**----------------------------------------------------------------------- * ----------------------------Js动态加载类------------------------------- * ---注意使用时必须保证被加载的JS文件是使用UTF-8保存,否则会出现中文乱码! * ----------------------------------------------------------------------- */ function JsLoader() {}; JsLoader.loaded = []; JsLoader.prototype = { _path : null, // 要加载的JS的路径 _head : null, // 文档对象的head头对象 /** * 主要调用方法. */ require : function(/*String*/jsPath, /*function*/callback) { if (!this._check(jsPath)) return false; if (this._isload(jsPath)) return true; this._ajaxLoad(callback); return true; }, load : function(/*String*/jsPath, /*function*/callback) { return this.require(jsPath, callback); }, _check : function(jsPath) { if (!jsPath) { alert('请指定要加载的JS路径!');return false; } var head = document.getElementsByTagName('head'); if (!head || head.length < 1) { alert('文档对象document必须有HEAD头!');return false; } this._path = jsPath; this._head = head[0]; return true; }, _isload : function(jsPath) { for (var i = 0; i < JsLoader.loaded.length; i ++) { if (JsLoader.loaded[i].toLowerCase() == jsPath.toLowerCase()) return true; } JsLoader.loaded[JsLoader.loaded.length] = jsPath; return false; }, _ajaxLoad : function(callback) { var head = this._head; base.request(this._path, function(xmlHttp, error) { var script = document.createElement('script'); script.type = "text/javascript"; script.text = xmlHttp.responseText; head.appendChild(script); if (!callback) return; try { if (typeof(callback) == 'function') callback(); else eval(callback); } catch (ex) {alert(ex.message);}; }); } };
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值