关键字: 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);};
});
}
};
ajax js动态加载 密码强度提示 高亮度元素
最新推荐文章于 2021-08-05 16:24:59 发布
本文介绍了一种实现密码强度检测的方法,并提供了一个高亮度显示指定元素的实用工具。同时,还分享了如何通过JavaScript动态加载外部JS文件。
143

被折叠的 条评论
为什么被折叠?



