您的位置:首页 > Web前端 > JavaScript

原生Javascript封装的一些常用函数

2016-03-11 22:54 816 查看
/**
* 得到ajax对象
*/
function getajaxHttp() {
var xmlHttp;
try {
// Firefox, Opera 8.0+, Safari
xmlHttp = new XMLHttpRequest();
} catch (e) {
// Internet Explorer
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {
alert("您的浏览器不支持AJAX!");
return false;
}
}
}
return xmlHttp;
}

/**
* 发送ajaxGet请求
* @param url
*/
function ajaxGet(url){

var xmlHttp  = getajaxHttp();
xmlHttp.open("GET",url);
xmlHttp.send(null);
xmlHttp.onreadystatechange = function() {
if ((xmlHttp.readyState == 4) && (xmlHttp.status == 200)) {
alert('success');
} else {
alert('fail');
}
}
}

/**
* 发送ajaxPost请求
* @param url
* @param data
*/
function ajaxPost(url,data){

var xmlHttp  = getajaxHttp();
xmlHttp.open("POST",url);
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlHttp.send(data);
xmlHttp.onreadystatechange = function() {
if ((xmlHttp.readyState == 4) && (xmlHttp.status == 200)) {
alert('success');
} else {
alert('fail');
}
}
}

/**
*
* @param {Object} el HTML Element
* @param {Object} type 事件类型
* @param {Object} fn 事件handler
*/
function addEvent(el, type, fn){
if(el.addEventListener){
el.addEventListener(type, fn, false);
}else{
el['e' + fn] = function(){
fn.call(el, window.event);
};
el.attachEvent('on'+type, el['e'+fn]);
}
}

/**
* 删除事件
* @param el
* @param type
* @param fn
*/
function removeEvent(el, type, fn){
if(el.removeEventListener){
el.removeEventListener(type, fn, false);
}else if(el.detachEvent){
el.detachEvent('on' + type, el['e'+fn]);
}
}

/**
* 根据id获取元素
* @param el
* @returns {Element}
*/
function getEl(el){
return document.getElementById(el);
}

/**
* 判断是否为对象类型
* @param obj
* @returns {boolean}
*/
RegExp.isObject = function (obj) {

return (typeof obj == 'object') && obj.constructor == Object;

};

/**
* 验证一个字符串时候是email
* @param str
* @returns {boolean}
*/
RegExp.isEmail = function (str) {

var emailReg = /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)*\.[\w-]+$/i;

return emailReg.test(str);

};

/**
* 验证一个字符串是否是URL
* @param str
* @returns {Array|{index: number, input: string}}
*/
RegExp.isUrl = function (str) {

var patrn = /^http(s)?:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\:+!]*([^<>])*$/;

return patrn.exec(str);

};

/**
* 转换时间戳
* @param nS
* @returns {string}
*/
function getLocalTime(nS) {
return new Date(parseInt(nS) * 1000).toLocaleString().replace(/年|月/g, "-").replace(/日/g, " ");
}

/**
* 将文件大小转成合适的刻度
* @param nS
* @returns {string}
*/
function fomateFileSize(nS) {
if (nS < 1024) {
return (nS / 1).toFixed(1) + " B";
} else if (nS < Math.pow(1024, 2) && nS > 1024) {
return (nS / Math.pow(1024, 1)).toFixed(1) + " KB";
} else if (nS < Math.pow(1024, 3) && nS > 1024 ^ 2) {
return (nS / Math.pow(1024, 2)).toFixed(1) + " MB";
} else if (nS < Math.pow(1024, 4) && nS > 1024 ^ 3) {
return (nS / Math.pow(1024, 3)).toFixed(1) + " GB";
} else if (nS < Math.pow(1024, 5) && nS > 1024 ^ 4) {
return (nS / Math.pow(1024, 4)).toFixed(1) + " TB";
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javascript